【发布时间】:2020-01-04 04:15:12
【问题描述】:
当我连接 Paramiko 客户端时,我得到了不需要的输出:
已连接(2.0 版,客户端 OpenSSH_7.2p2)
身份验证(公钥)失败。
身份验证(公钥)失败。
认证(密码)成功!
我尝试按照this question 中的建议抑制标准输出,但它不起作用:
sys.stdout = open(os.devnull, "w")
print("AAAAAAAAAAAaaaaaaaaaaaaaaaaa")
my_client.connect(hostname=hostname, username=username, password=password)
sys.stdout = sys.__stdout__
“AAAAAAAAAAAAaaaaaaaaaaaaaaaaaaa”没有出现,但 Paramiko 的输出仍然出现。如何阻止 Paramiko 的信息打印到控制台?
【问题讨论】:
-
如果程序重视 POSIX 规则,它会将消息写入
stderr而不是stdout。 -
即使是第一个“已连接”行和最后一个“成功!”行吗?
-
用户要阅读的内容转到
stderr。什么是输出数据转到stdout。对这些进行分类并不总是那么容易,但你的信息相当清楚。
标签: python python-3.x ssh stdout paramiko