【发布时间】:2023-04-08 18:32:02
【问题描述】:
如果我希望面试问题中有一些字符串,我需要通过给出预定义的答案来自动化面试过程。
我正在使用 pexpect.spawn 启动子进程并完成面试。
我的部分代码是:
child.expect("\> ")
child.sendline("test")
我正在使用 child.logfile=fout 将面试过程保存在一个文件中
fout 的一部分是:
What would you like to use for the display name:^M
> ^M
Invalid input: ''^M
^M
What would you like to use for the display name:^M
> test
test^M
如上所示,它第一次匹配新行,因此出现注释“无效输入:”。 所以它两次问同一个问题,然后它接受“测试”作为答案。
我该怎么做才能让我的回答第一次被接受?
child.expect中的参数“timeout”有什么关系吗?
我尝试过使用 timeout=0、timeout=-1 等选项,但没有任何效果。
【问题讨论】:
-
是的。你为什么要逃避
>? (我不太了解 python,所以它可能是合法的,但'> '似乎更支持 pexpect 文档样本的内容。) -
这次我没有转义“>”字符。我用过:child.expect(">")。但我的 fout 看起来完全一样。