提取zip文件时如何解决“输入/输出错误”?

时间:2019-10-17 20:55:06

标签: python zipfile

我正在使用150GB以上的dicom图片压缩文件。 我试图通过它们的文件名提取其中一些。

我正在使用google collab python 3解释器,并在长度为500的文件名列表中使用zipfile模块以及ZipFile.extractall()方法(例如:['stage_1_train_images / ID_53ff71bc4.dcm','stage_1_train_images / ID_001bb2c00.dcm ',etc ...]): 。

这是我的代码:

from zipfile import ZipFile 

with ZipFile(src, 'r') as zipObj:
     zipObj.extractall(members = ids, path = '/content/drive/My Drive/RSNA IH DETECTION CHALLENGE/DICOM') #ids is my file list

我收到一条错误消息:

"OSError: [Errno 5] Input/output error", related to a message in read(self, n) :    "727     "Close the writing handle before trying to read.")"

我试图关闭文件然后重新打开,尝试使用.extract()方法提取多次,并且总是收到相同的err消息。

我第一次尝试与shutil.copyfile()一起使用保险丝拉链,但未能成功...

您知道导致此错误消息的原因以及可能的解决方法吗?

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

我通过重新下载原始文件解决了此问题。 我存储在Google云端硬盘中的版本可能已损坏。 现在,fuse-zip和ZipFile方法一样有效!

相关问题