如何在Python中解压缩Windows文件夹中的zip文件

时间:2015-02-28 08:33:34

标签: python windows zip compression

我有一个包含900多个子文件夹的大文件夹,每个子文件夹中都有另一个文件夹,后面又有一个压缩文件。 它就像 - -MyFolder
----- MySubfolder
--------- MySubSubfolder
-------------MyFile.zip
如何使用Python解压缩其各自文件夹中的所有压缩文件或Windows中其他位置的单独文件夹?

任何帮助都会很棒!!

1 个答案:

答案 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');