我有一个包含900多个子文件夹的大文件夹,每个子文件夹中都有另一个文件夹,后面又有一个压缩文件。
它就像 -
-MyFolder
----- MySubfolder
--------- MySubSubfolder
-------------MyFile.zip
如何使用Python解压缩其各自文件夹中的所有压缩文件或Windows中其他位置的单独文件夹?
任何帮助都会很棒!!
答案 0 :(得分:1)
您可以尝试以下方式:
import zipfile,os;
def unzip(source_filename, dest_dir):
with zipfile.ZipFile(source_filename) as zf:
for member in zf.infolist():
extract_allowed = True;
path = dest_dir;
words = member.filename.split('/');
for word in words:
if (word == '..'):
extract_allowed = False;
break;
if (extract_allowed == True):
zf.extract(member, dest_dir);
def unzipFiles(dest_dir):
for file in os.listdir(dest_dir):
if (os.path.isdir(dest_dir + '/' + file)):
return unzipFiles(dest_dir + '/' + file);
if file.endswith(".zip"):
print 'Found file: "' + file + '" in "' + dest_dir + '" - extracting';
unzip(dest_dir + '/' + file, dest_dir + '/');
unzipFiles('./MyFolder');