【发布时间】:2017-07-26 13:56:43
【问题描述】:
我正在使用 ftplib 模块将许多 bz2 文件上传到一个 ftp(每天大约 1000 个文件,每个文件大约 5 MB,存储一个 numpy 数组)。有时,某些上传的文件已损坏。当我尝试使用 bz2 和 numpy 读取它时,我收到错误“IOError:无效数据流”。如果我尝试使用 WinRAR 等软件解压缩它,我会收到消息“filename 中的校验和错误。文件已损坏。”
上传数据的代码没有什么特别之处。基本上是这样的:
while True:
try:
fidFile = open(fileName, 'rb')
ftp.storbinary('STOR '+fileName, fidFile)
fidFile.close()
break
except:
continue
对于损坏的文件,如果我使用相同的代码再次上传它们,大部分时间我可以得到好的文件。
使用不同的 ftp 并不能消除这个问题。
我还注意到损坏的文件与正常文件的字节数完全相同。我想所有必要的信息都已经上传了,所以我真的不明白为什么文件损坏了。
【问题讨论】: