python sftp 上传文件

要使用Python的SFTP上传文件,您可以使用paramiko库。以下是一个简单的示例代码,演示如何使用paramiko库将文件上传到SFTP服务器:

import paramiko  
  
# SFTP服务器连接信息  
host = 'sftp.example.com'  
port = 22  
username = 'your_username'  
password = 'your_password'  
  
# 创建SFTP客户端  
transport = paramiko.Transport((host, port))  
transport.connect(username=username, password=password)  
sftp = paramiko.SFTPClient.from_transport(transport)  
  
# 上传文件  
file_path = '/path/to/file.txt'  # 要上传的文件的路径  
remote_path = '/path/on/server/file.txt'  # 上传到服务器的目标路径  
with open(file_path, 'rb') as file:  
    sftp.put(file_path, remote_path)  
  
# 关闭SFTP连接  
sftp.close()  
transport.close()

在上面的代码中,您需要将host变量替换为您的SFTP服务器地址,将port变量替换为您的SFTP服务器端口(默认为22),将username和password变量替换为您的SFTP登录凭据。然后,使用paramiko.Transport函数创建一个SFTP客户端,并使用transport.connect方法连接到SFTP服务器。接下来,使用paramiko.SFTPClient.from_transport方法从传输对象中创建一个SFTP客户端对象。最后,使用sftp.put方法将文件上传到SFTP服务器,并使用sftp.close和transport.close方法关闭SFTP连接和传输连接。