我有以下脚本来从远程 FTP 站点获取文件并将其下载到本地:
for i in ftp.nlst():
ftp.retrbinary("RETR " + i, open(local_file_path + "/" + i, "wb").write)
调试信息显示正在获取文件,并且我可以看到它正在流式传输到本地系统。一段时间后,下载就会停止,看起来像是暂停了......
get "150 Opening BINARY mode data connection for 'filename' (163479928 bytes).\n"
resp "150 Opening BINARY mode data connection for 'filename' (163479928 bytes)."
最佳答案
您是否尝试过使用 maxblocksize 参数进行实验?例如:
ftp.retrbinary("RETR " + i, open(i, "wb").write, maxblocksize=1048576)
我不确定是什么导致了您的问题,但如果您的文件很大,则可能与 FTP 服务器端的缓冲区大小有关。
关于Python3 ftplib 无法获取更大的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306442/