仅将以 mprm* 开头的文件压缩到 python 中的 mprm.zip

Zip only files starting with mprm* into mprm.zip in python

我正在尝试编写代码以将以 mprm* 开头的文件压缩到 mprm.zip 文件。我的目录有 100 个不同类型的扩展名的不同文件。

与Bash一样,我们可以做到

zip -r pathtofile/mprm path2Destination/mprm*

python 中有什么东西可以达到同样的效果吗?

谢谢!

像这样的东西应该可以工作:

(在 python34 上工作)

import glob
from zipfile import ZipFile, ZIP_DEFLATED

files = glob.glob('mprm*') #find your stuff
z = ZipFile('mprm.zip', mode='w', compression=ZIP_DEFLATED) #change if needed
for f in files:
    z.write(f, f)
print ('done')

'

在 Python 中,您可以通过多种方式获取文件列表。最简单的可能是使用 'glob' 模块,像这样:

import glob
filelist = glob.glob('/home/tryeverylanguage/mprm*')

有关 glob 的详细信息,请在命令提示符下键入 'python',然后键入 import glob,然后键入 help(glob)

,以启动交互式 Python 会话

要将您列出的文件放入 zip 文件,您可能需要使用 'zipfile' 模块。有关此模块的详细信息,请在您的 Python 交互式会话中键入 import zipfile,然后键入 help(zipfile)

顺便说一句,不要将 Python built-in 'zip' 函数与创建 zip 文件的命令混淆——它们完全不相关。

希望这足以让您入门。玩得开心Python!