在bash中压缩vs python中的zipfile

时间:2015-01-16 18:14:57

标签: python bash zip zipfile

我正在迁移一个拉链目录的BASH脚本:

zip -q -r -X ../$myFolder.zip *.*

到Python,它使用如下函数:

def zipDirectory (srcDir):
    (myPath,myLeaf) = os.path.split(srcDir)
    myFiles = os.listdir(srcDir)
    if len(myFiles) >= 1:
        myArchiveDir = os.path.join(myPath, myLeaf + ".zip")
        myArchive = zipfile.ZipFile(myArchiveDir, 'w')
        for myFile in myFiles:
            myArchive.write(os.path.join(srcDir,myFile), myFile)
        myArchive.close()
        return myArchiveDir

似乎我的Python脚本创建的zip存档比我的Bash脚本中的zip存档大得多(尽管事实上它们具有完全相同的文件)。有人可以告诉我为什么会这样吗?我的猜测可能是-X参数,"不保存额外的文件属性"不适用于Python。如果这是正确的,我该如何应用它?

0 个答案:

没有答案