Python - 自动压缩特定的文件夹/文件

时间:2014-08-13 07:53:09

标签: python zip

我最近一直在使用Python,遇到了一个我认为可以使用它解决的问题。 我有一个带有很多文件夹的USB记忆棒,每个文件夹都包含以下内容:

/HTML5/
/Images/
foldername.html
foldername.ofp
preview.html
profile.xml

现在,我必须创建每个文件夹的zip文件,但只包含Images文件夹和profile.xml文件。那里有40个文件夹,将来会有更多文件夹。

以下是最终代码:

# Script to zip Foldername/Images/ and Foldername/profile.xml to Foldername.zip

import os
import zipfile

dirname = "D:\\testdir"

for schoen in os.listdir(dirname):
    print schoen
    myZipFile = zipfile.ZipFile(schoen+".zip", "w" )
    for f in os.listdir(os.path.join(dirname, schoen)):
        print f
        if f == "Profile.xml":
            print "Found profile.xml"
            myZipFile.write(schoen + "\\" + f, f)
        elif f == "Images":
            print "Found Images"
            myZipFile.write(schoen + "\\" + f, f)
    myZipFile.close()

非常感谢, Grootie

1 个答案:

答案 0 :(得分:0)

为什么不在文档中查找,而不是查找随机代码并尝试猜测它可能意味着什么以及应该更改什么内容?

ZipFile.write的参数是:

ZipFile.write(filename, arcname=None, compress_type=None)

因此,您的代码会将名为profile.xml的文件复制到名称为images\\test.py的存档中。这真的是你想要的吗?我对此表示怀疑。但我不确定你做什么想要什么。你需要弄清楚,你可以向一个白痴解释(因为计算机是白痴)。然后,如果您对文档感到困惑,那么文档或SO也可以帮助您将该解释转换为适当的代码。