python-3.x - 如何修复 Colaboratory 中的 zipfile 读取错误?

标签 python-3.x

使用 colaboratory 将 zipfile 提取到我的 Google 驱动器时,我收到一条错误消息,提示 zipfile read error。如何解决?

我正在尝试使用以下 python 3 脚本解压缩文件:

from google.colab import drive
drive.mount('/gdrive')

!unzip '/gdrive/My Drive/file.zip' -d '/gdrive/My Drive/Destination/'

从 zip 中提取 4 个文件后,我收到此错误

error:  zipfile read error

最佳答案

我无法解决原因,但能够使用以下 Python 代码解决问题(以及一些进程信息):

from zipfile import ZipFile

# Get information about how much you're decompressing
zf = ZipFile('./gdrive/My Drive/poizon/data/images.zip')
uncompress_size = sum((file.file_size for file in zf.infolist()))
print('uncompressed_size',uncompress_size/1e6)

# Loop through all files attempting to decompress each individually
extracted_size = 0
for file in zf.infolist():
    extracted_size += file.file_size
    print ("%s %%" % (extracted_size * 100/uncompress_size))
    try:
      zf.extract(file)
    except:
      continue

关于python-3.x - 如何修复 Colaboratory 中的 zipfile 读取错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57602251/

相关文章:

Pythonic 嵌套 for - Python 中的循环

python - 如何将 pandas loc 索引器转换为字符串?

python - 将 pandas 表(填充有字符串)保存为 png

python - Python 中的可选链接

python - 如何以编程方式将方法添加到类调用中?

python-3.x - 更改 Pytorch 3D 张量内的值

python - 输入的最短代码

python - 需要帮助从文本文件导入测验

python-3.x - 尝试在Python 3.6.3中删除数据框中的变量时出错

python - Python Asyncio队列获取未收到消息