在Python中,可以使用ftplib
库来处理FTP大文件传输。以下是一个简单的示例,展示了如何使用ftplib
库上传大文件:
from ftplib import FTP
def upload_large_file(local_file_path, remote_file_path, ftp):
with open(local_file_path, 'rb') as file:
# 使用FTP的storbinary方法上传大文件
ftp.storbinary(f'STOR {remote_file_path}', file)
def main():
# 连接到FTP服务器
ftp = FTP('ftp.example.com')
ftp.login(user='username', passwd='password')
ftp.set_pasv(True) # 开启被动模式
# 设置传输模式为二进制,防止文件损坏
ftp.sendcmd('TYPE I')
# 上传大文件
local_file_path = 'path/to/your/large_file.txt'
remote_file_path = 'path/to/remote/large_file.txt'
upload_large_file(local_file_path, remote_file_path, ftp)
# 关闭FTP连接
ftp.quit()
if __name__ == '__main__':
main()
在这个示例中,我们首先定义了一个upload_large_file
函数,该函数接受本地文件路径、远程文件路径和FTP对象作为参数。然后,我们使用open
函数以二进制模式打开本地文件,并使用storbinary
方法将文件上传到FTP服务器。
在main
函数中,我们连接到FTP服务器,登录并设置被动模式。接着,我们设置传输模式为二进制,然后调用upload_large_file
函数上传大文件。最后,我们关闭FTP连接。
注意:请将示例中的ftp.example.com
、username
、password
和文件路径替换为您自己的FTP服务器和文件信息。