我想通过ssh在不同的计算机上保存Python程序的输出文件(二进制文件,matplotlib等)。到目前为止,我已将文件保存在运行该程序的同一台计算机中,为此我在Python代码filename = '/OutputFiles/myOutput.txt'
中有一行。如何更改此行以便我可以通过ssh将输出保存在另一台计算机中?可以假设远程计算机的ssh登录密码位于我的密钥环中。
答案 0 :(得分:0)
最简单的方法是将输出写入标准输出并将其输出到ssh(假设您使用的是Mac,Linux或其他基于* nix的计算机)。例如:
python myProgram | ssh user@host 'cat > outfile.txt'
答案 1 :(得分:0)
(新答案,因为OP指定他们想要写多个文件)
您想查看paramiko模块。它可能看起来像这样:
import paramiko
connection = paramiko.SSHClient()
connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
connection.connect(10.10.10.10, username=myuser, password=mypass)
ftp = connection.open_sftp()
for i in range(10):
results = do_stuff()
f = ftp.open(i+'.txt', 'w+')
f.write(results)
f.close()
ftp.close()
connection.close()