【发布时间】:2020-05-15 09:07:49
【问题描述】:
我必须将文本文件保存到远程文件服务器而不是本地系统。我正在使用python3。最初,我查找了这个并找到了subprocess 方法来做到这一点。但是,我想从专家那里了解在生产中执行相同操作(将文本文件保存在远程文件服务器中)的最佳方法。
感谢任何帮助。
【问题讨论】:
标签: python-3.x file remote-server
我必须将文本文件保存到远程文件服务器而不是本地系统。我正在使用python3。最初,我查找了这个并找到了subprocess 方法来做到这一点。但是,我想从专家那里了解在生产中执行相同操作(将文本文件保存在远程文件服务器中)的最佳方法。
感谢任何帮助。
【问题讨论】:
标签: python-3.x file remote-server
您可以使用 subprocess.run 调用 scp bash 命令(它通过 SSH 复制文件):
import subprocess
subprocess.run(["scp", FILE, "USER@SERVER:PATH"])
或者试试 Python Paramiko。它非常易于使用:
import os
import paramiko
ssh = paramiko.SSHClient()
ssh.load_host_keys(os.path.expanduser(os.path.join("~", ".ssh", "known_hosts")))
ssh.connect(server, username=username, password=password)
sftp = ssh.open_sftp()
sftp.put(localpath, remotepath)
sftp.close()
ssh.close()
【讨论】: