这是我正在处理的代码
remote_conn_pre = paramiko.SSHClient()
remote_conn_pre
remote_conn_pre.connect(ip,
username=username,password=password,look_for_keys=False,allow_agent=False)
remote_conn = remote_conn_pre.invoke_shell()
output = remote_conn.recv(1002)
remote_conn.send("\n")
remote_conn.send("enable\n")
remote_conn.send("show ip int brief\n")
remote_conn.close()
time.sleep(2)
output = remote_conn.recv(65535)
print output
output_cap = tempfile.TemporaryFile(output)
print output_cap
我得到的输出是:
Traceback (most recent call last):
File "p1.py", line 27, in <module>
output_cap = tempfile.TemporaryFile(output)
File "/usr/lib/python2.7/tempfile.py", line 488, in TemporaryFile
return _os.fdopen(fd, mode, bufsize)
ValueError: mode string must begin with one of 'r', 'w', 'a' or 'U', not '
R1#enable
R1#show ip int brief
Interface IP-Address OK? Method Status
Protocol
FastEthernet0/0 192.168.2.101 YES other up
up '
如何将我可以从代码中获取的输出传递给临时文件?
答案 0 :(得分:1)
tempfile.TemporaryFile()
的第一个参数是mode
,而不是您要写的数据。
答案 1 :(得分:0)
写入文件
fo = open("filename.txt", wb)
fo.write(output)
fo.close()
模式&#34; wb&#34;以二进制文件写入文件,如果文件尚未存在则创建新文件,如果文件存在则覆盖该文件。