命令systemctl status dnsmasq和pexpect.spawn的输出被截断。
pexpect.spawn('systemctl status dnsmasq', encoding='utf-8')
i = child.expect([".*\$ ", pexpect.EOF, pexpect.TIMEOUT])
if i == 1:
child.sendcontrol("c")
print(child.before)见下面的输出图像:

我对sshd.service进行了测试,结果是一样的。然而,对于其他命令,如sudo apt更新和sudo apt升级,pexpect日志完全输出。是什么导致了这种行为,以及如何纠正它?
发布于 2022-07-27 08:49:29
默认情况下,pty大小是24x80。一些程序将根据pty大小调整它们的输出格式。您可以在调用spawn()时显式设置pty大小。
child = pexpect.spawn('systemctl status dnsmasq', encoding='utf-8',
dimensions=(9999, 9999) )
# rows, colshttps://stackoverflow.com/questions/73128698
复制相似问题