我想将我从expect
编写的程序转换为pexpect
,但是api根本不同,而且我还没有从expect
中学到并喜欢的许多功能t在python
中找到了用法。
我想知道是否有人可以与用户进行纯粹的交互。预期我会使用send_user
和expect_user
配对,这种类型的序列通常是由生成的过程中观察到的模式或与生成的过程进行交互时使用的特殊键代码触发的。
我看到了send_user
的{{3}}示例,并尝试打印一个提示输入的信息,随后是python
input()
函数,但是我的程序锁定了。
这是一个代码段:
import pexpect
import sys
def input_filter(s):
if s == b'\004': # ctrl-d
sys.stdout.write(f'\n\rYou pressed ctrl-d,press y to quit.\r\n')
sys.stdout.flush()
i = input()
if i == 'y':
return b'\r: ok,bye; exit\r'
else:
return b''
else:
return s
proc = pexpect.spawn('bash --norc')
proc.interact(input_filter=input_filter)