阻止Paramiko打印到控制台

时间:2019-08-31 02:02:08

标签: python python-3.x ssh stdout paramiko

当我连接Paramiko客户端时,会得到不需要的输出:

  

已连接(2.0版,客户端OpenSSH_7.2p2)
  身份验证(公钥)失败。
  身份验证(公钥)失败。
  身份验证(密码)成功!

我试图按照this question中的建议禁止显示stdout,但是它不起作用:

sys.stdout = open(os.devnull, "w")
print("AAAAAAAAAAAaaaaaaaaaaaaaaaaa")        
my_client.connect(hostname=hostname, username=username, password=password)
sys.stdout = sys.__stdout__

“ AAAAAAAAAAAaaaaaaaaaaaaaaaaaaa”没有出现,但是Paramiko的输出仍然出现。如何阻止Paramiko的信息从打印到控制台?

1 个答案:

答案 0 :(得分:1)

Paramiko不会自行将任何内容打印到控制台。

Paramiko将这些消息发送到记录器(logging module)。如果它们最终出现在控制台上,则必须配置一个记录器,以将日志消息发送到控制台。