我要开始一个包含每天早上解压数据的工作流程。 压缩文件看起来像这样:
zip_download.zip
Set 1
2014
Feb
17th
Image_1.png
Image_2.png
Set 2
2014
Feb
14th
Image_1.png
Image_2.png
Example file path: zip_download.zip/set 1/2014/Feb/14th/Image_1.png
我需要Python每天解压这些文件,并在Windows文件夹中基本上建立一个数据库。有时可能会有前几天的数据,而该文件夹可能已经存在,因此我需要错误处理。
以下是我目前的代码:
import zipfile
import os
target_location = r'C:/new_filestructure'
file_download = r'C:/Users.Mike/Downloads/download1.zip'
with zipfile.ZipFile(target_zip) as zip_file:
for member in zip_file.namelist():
try:
os.makedirs(os.path.join(target_location + r'/' + os.path.dirname(member)))
except:
(OSSError, WindowsError)
print os.path.basename(member)
print os.path.dirname(member)
这将运行良好并打印我想要的内容(仅测试是否遍历所有文件),但不会创建单个文件夹。如果我删除try/except,我会收到一个错误消息,说目录已经存在,尽管实际上不存在。
有任何想法吗?