print输出结果与预期不一致

print输出结果与预期不一致

题目描述

最近在学习pexpect模块时遇到一个预期之外的问题,问题挺简单,就是标题
Python版本为3.8.13,运行环境为Rocky Linux 8.5

相关代码

import pexpect

host = '192.168.201.106'

password = r'123.com'

cmd = pexpect.spawn(f'ssh {host}', timeout=2, encoding='utf-8')

cmd.expect('password:')

print('-------------')

print(f'before:{cmd.before}')

# print(f'read:{cmd.read()}')

cmd.sendline(password)

# cmd.expect('#')

# cmd.sendline('hostname')

cmd.sendintr()

# print(cmd.read())

你期待的结果是什么?实际看到的错误信息又是什么?

运行之后输出为:
-------------
root@192.168.201.106's

但是根据代码来看,为什么输出会少了前面的'before:'字符串呢?
理想的输出为:
-------------
before:root@192.168.201.106's

补充

通过此种方法可以实现前面想要的效果

print('before:'+cmd.before)

以上是 print输出结果与预期不一致 的全部内容, 来源链接: utcz.com/p/938408.html

回到顶部