如何解决python pexpect 在匹配输出之前或之后打印输出
我使用 pexpect
将输出与预期的字符串匹配。我还想将命令的输出打印到标准输出。我目前有这个:
def cliExecute(cmd):
try:
print("Running:",cmd)
cli = pexpect.spawn(cmd)
return cli
except:
print("Failed to execute command:",str(cmd),sys.exc_info()[0])
print("Stopping test due to error")
sys.exit(1)
def cliExpect(cli,expectation,timeout=30):
try:
# print(cli.read().decode()) Doing this will print o/p but the next command fails
cli.expect(expectation,timeout=timeout)
except:
raise cliExpectFail("Failed to find: ","\nLast exec line:" + str(cli.before))
当我使用 cliExpect
时,上述逻辑与输出匹配,但我也想记录我匹配的输出。如果我添加 print(cli.read().decode())
行,我会看到输出但匹配失败但是当我用打印切换期望时,输出的打印不会发生。关于如何解决这个问题的任何想法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。