我制作了一些剧本。 我希望在python上返回stdout值。
但我的剧本不起作用。
下面是我的剧本。
import paramiko
import sys
from paramiko import AutoAddPolicy
sip = raw_input('IP\n')
sid = raw_input('ID\n')
spass = raw_input('PW')
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(hostname=sip, username=sid, password=spass)
stdin, stdout, stderr = client.exec_command('hostname')
s_info = stdout
sys.stdout.close()
client.close()
print (s_info)
我的脚本发生在错误之下。
Traceback(最近一次调用最后一次):文件“test.py”,第17行,in print(s_info)ValueError:关闭文件的I / O操作
答案 0 :(得分:0)
正如错误所提到的那样,您已经在关闭它后尝试写入流。默认情况下,print function会重定向到标准输出,您已在此处关闭sys.stdout.close()
为了使其正常工作,只需评论或删除该行