使用Python将文件解压缩到一个文件夹

时间:2015-06-09 10:36:48

标签: python zip

我想用python 2.7.8解压缩文件。当我尝试将包含同名文件的zip文件解压缩到一个文件夹时,由于重复名称,一些文件丢失了。我试着这样说:

import zipfile,fnmatch,os

rootPath = r"C:\zip"
pattern = '*.zip'
for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(files, pattern):
        print(os.path.join(root, filename))
        outpath = r"C:\Project\new"  
        zipfile.ZipFile(os.path.join(root, filename)).extractall(r"C:\Project\new")

更新:

我尝试将zip文件中的所有文件解压缩到一个文件夹中,而不创建新的子文件夹。如果有同名文件我需要所有文件

1 个答案:

答案 0 :(得分:0)

ZipFile.extractall()方法只是提取文件并将它们一个一个地存储在目标路径中。如果要保留具有重复名称的文件,则必须使用ZipeFile.namelist()对成员进行迭代,并在检测到重复项时采取适当的操作。 ZipFile.read()允许您读取文件内容,然后您可以在任何地方(以及任何名称)编写它们。