我使用ftplib模块将许多bz2文件上传到ftp(每天大约1000个文件,每个文件大约5MB,存储一个numpy数组)。偶尔,一些上传的文件会被破坏。当我尝试使用bz2和numpy读取它时,得到错误“IOError:invalid data stream”。如果我试图用WinRAR之类的软件解压它,就会得到消息“Checksum error infilename。文件已损坏。“
上传数据的代码没有什么特别的。基本上是这样的:
while True:
try:
fidFile = open(fileName, 'rb')
ftp.storbinary('STOR '+fileName, fidFile)
fidFile.close()
break
except:
continue
对于损坏的文件,如果我使用相同的代码再次上传它们,大多数情况下我可以得到好的文件。你知道吗
使用不同的ftp并不能消除这个问题。你知道吗
我还注意到,损坏的文件与良好的文件具有完全相同的字节。我想所有必要的信息都上传了,所以我真的不明白为什么文件被破坏了。你知道吗
此问题的解决方法可以是:
它一直试图上传文件,并将关闭它被上传。你知道吗
相关问题 更多 >
编程相关推荐