Python3 ftplib 无法获取更大的二进制文件

标签 python python-3.x ftp ftplib

我有以下脚本来从远程 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/

相关文章:

python - 高效搜索嵌套列表

python - 如何打开 zip 中的 unicode 文本文件?

python - 如何使用 TensorFlow 计算矩阵运算?

python - 使用类合并两个列表 (Python)

python-3.x - Neovim LSP : pyright server does not dynamically regognize changes in sub folders

ftp - mget 提示覆盖

c# - 在 C# 中通过 FTP 编辑文本文件?

python - 无法设置 Plex 海报元数据

python - Sqlite3写入只读数据库

php - 使用 PHP 监控外部 ftp 上传