如何使用SCP或SSH在Python中将文件复制到远程服务器?
使用scp命令从一个服务器复制文件到另一个服务器是最简单的方法。调用scp需要子进程模块。
示例
import subprocess
p = subprocess.Popen(["scp", "my_file.txt", "username@server:path"])
sts = os.waitpid(p.pid, 0)
您需要使用waitpid调用等待复制完成。
另一种解决方案是打开ssh连接并使用scp模块。
示例
from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('user@server:path')
with SCPClient(ssh.get_transport()) as scp:
scp.put('my_file.txt', 'my_file.txt') # 将my_file.txt复制到服务器
极客教程