📅  最后修改于: 2023-12-03 14:52:01.442000             🧑  作者: Mango
在开发过程中,经常需要将本地的文件或数据上传到远程服务器中,SFTP是一个比较常用的方式。Python提供了Paramiko库,以及可以实现SFTP协议的接口,可以方便实现将文件从本地复制到SFTP。
使用pip安装Paramiko:
pip install paramiko
import os
import paramiko
# SFTP服务器的IP地址、端口、用户名和密码
hostname = 'your_sftp_ip'
port = your_sftp_port
username = 'your_sftp_username'
password = 'your_sftp_password'
# 本地文件路径和文件名
local_path = 'your_local_file_path'
local_file = 'your_local_file_name'
# 远程SFTP服务器文件路径和文件名
remote_path = 'your_remote_file_path'
remote_file = 'your_remote_file_name'
# 建立SFTP连接
transport = paramiko.Transport((hostname, port))
transport.connect(username=username, password=password)
sftp = paramiko.SFTPClient.from_transport(transport)
# 将本地文件复制到远程SFTP服务器中
sftp.chdir(remote_path)
sftp.put(os.path.join(local_path, local_file), remote_file)
# 关闭SFTP连接
sftp.close()
transport.close()
以上代码中,需要替换相应的参数值。建立SFTP连接时,使用Transport类指定服务器的IP地址和端口号,然后使用connect()方法连接服务器,并传入登录用户名和密码。调用from_transport()函数生成sftp对象,使用put()方法将本地文件复制到远程SFTP服务器中。最后关闭连接。
使用Python实现将文件从本地复制到SFTP非常简单,可以方便地实现文件上传功能。需要注意的是,需要使用SFTP服务器的相关参数值进行设置,同时需要确保本地文件路径和远程SFTP服务器文件路径等参数值设置正确,才能正常实现文件上传。