Python:通过ssh将输出文件保存在另一台计算机上

时间:2014-05-21 20:57:51

标签: python ssh

我想通过ssh在不同的计算机上保存Python程序的输出文件(二进制文件,matplotlib等)。到目前为止,我已将文件保存在运行该程序的同一台计算机中,为此我在Python代码filename = '/OutputFiles/myOutput.txt'中有一行。如何更改此行以便我可以通过ssh将输出保存在另一台计算机中?可以假设远程计算机的ssh登录密码位于我的密钥环中。

2 个答案:

答案 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()
相关问题