要在 Python 中将文件拷贝到远端服务器,可以使用 paramiko 模块实现 SSH 连接和文件传输。
具体方法如下:
- 安装
paramiko模块:pip install paramiko - 创建 SSH 连接:
import paramiko # 创建 SSH 客户端对象 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy) # 连接远程服务器 ssh.connect('服务器地址', username='用户名', password='密码') - 使用
SFTP协议上传文件:import os # 创建 SFTP 客户端对象 sftp = ssh.open_sftp() # 上传本地文件到远程服务器 local_file_path = '本地文件路径' remote_file_path = '远程服务器文件路径' sftp.put(local_file_path, remote_file_path) # 关闭连接 sftp.close() ssh.close()
其中,服务器地址 是远程服务器的 IP 地址或主机名,用户名 和 密码 是登录远程服务器的凭据,本地文件路径 是要被上传的本地文件的完整路径(包括文件名),远程服务器文件路径 是文件在远程服务器上的保存路径和名称。
需要注意的是,在上传文件之前,需要确保远程服务器上的目标文件夹已经存在,否则会抛出异常。可以使用 os.path.dirname() 函数获取目标文件夹路径,然后使用 SFTP 客户端的 mkdir() 方法创建目标文件夹。
此外,如果需要下载远程服务器上的文件,则可以使用 SFTP 客户端的 get() 方法。具体用法类似于上传文件,只需要将本地文件路径和远程服务器文件路径交换即可。
搬瓦工中文网






