在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服务器和文件信息。