我必须将一个文本文件保存到远程文件服务器而不是本地系统。我使用的是python3。起初,我查了一下,发现了 subprocess
的方法来实现。但是,我想向专家们请教一下,在生产中,哪种方法是最好的(将文本文件保存在远程文件服务器中)。
希望得到任何帮助。
你可以用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()