为何Python的zipfile模块解压后仅生成空文件夹无内容?
问题
在Google Colab笔记本中,从Kaggle下载了zip格式的数据集,使用Python的zipfile模块解压后仅生成空文件夹,无任何内容,但原zip文件确有数据。

更新
尝试了@Hanna提供的解压代码后,仍未解决问题:

解决方法
1. 先确认zip文件内部结构
很多时候空文件夹问题是因为zip内的文件嵌套在多层目录里,先打印文件列表确认:
import zipfile zip_path = "/content/drive/MyDrive/archive.zip" with zipfile.ZipFile(zip_path, 'r') as zf: # 打印所有文件路径 print("\n".join(zf.namelist()))
如果输出里能看到具体文件,说明是解压方式的问题;如果看不到,可能是zip文件损坏,重新下载一次。
2. 用系统命令替代Python模块解压
Colab基于Linux环境,直接用unzip命令更稳定,还能看到详细的解压日志:
# 解压到指定目录 !unzip "/content/drive/MyDrive/archive.zip" -d "/content/drive/MyDrive/test"
如果出现权限报错,加上sudo:
!sudo unzip "/content/drive/MyDrive/archive.zip" -d "/content/drive/MyDrive/test"
3. 检查文件路径与权限
- 用
ls命令确认zip文件确实存在:
!ls "/content/drive/MyDrive/" | grep archive.zip
- 确保目标解压目录有写入权限,Colab的
/content/目录权限足够,也可以先切换到该目录再解压:
%cd /content !unzip "/content/drive/MyDrive/archive.zip"
内容的提问来源于stack exchange,提问作者Mainland
相关产品推荐
相关产品推荐

