我有一个zip文件,其中包含以下目录结构:
dir1\dir2\dir3a dir1\dir2\dir3b
我正在尝试将其解压缩并维护目录结构,但是出现错误:
IOError: [Errno 2] No such file or directory: 'C:\\\projects\\\testFolder\\\subdir\\\unzip.exe'
其中testFolder是上面的dir1,而subdir是dir2。
有没有一种解压缩文件并维护目录结构的快速方法?
如果您使用的是Python 2.6,则extract和extractall方法非常有用。我现在必须使用Python 2.5,所以如果它们不存在,我只需要创建目录。您可以使用该namelist()方法获得目录列表。目录将始终以正斜杠结尾(即使在Windows上也是如此),例如,
namelist()
import os, zipfile z = zipfile.ZipFile('myfile.zip') for f in z.namelist(): if f.endswith('/'): os.makedirs(f)
您可能不想 完全 那样做(即,当您遍历名称列表时可能要提取zip文件的内容),但是您知道了。