ftplibモジュールを使用してftpに多くのbz2ファイルをアップロードしています(1日あたり約1000ファイル、すべてのファイルは約5 MBです)。一度、アップロードされたファイルの一部が破損しています。 bz2とnumpyを使用して読み込もうとすると、エラー "IOError:invalid data stream"が表示されます。 WinRARなどのソフトウェアを使用して圧縮を解凍しようとすると、「チェックサムエラーのファイル名がです。ファイルが壊れています。」Python ftplib:ftpにアップロードされたbz2ファイルが破損することがある
データをアップロードするコードは何も特別なものはありません。基本的には次のようになります。破損したファイルについては
while True:
try:
fidFile = open(fileName, 'rb')
ftp.storbinary('STOR '+fileName, fidFile)
fidFile.close()
break
except:
continue
、私は、私は良いのファイルを取得することができますほとんどの時間を同じコードを使用して再度アップロードします。
異なるftpを使用しても、この問題は解決されません。
また、破損したファイルが正常なファイルとまったく同じバイトであることに気付きました。私は必要な情報がすべてアップロードされていると思うので、ファイルが壊れている理由は分かりません。この問題の
ありがとうございます。すぐにコードを試すことはできませんが、アップロードされたファイルが破損している場合でも、コードは例外をスローしないようです。アップロードプロセスは何も間違っていません。壊れたファイルを見つけるにはアップロードしたすべてのファイルをチェックする必要があります。 –