仅将以 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!
我正在尝试编写代码以将以 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)
要将您列出的文件放入 zip 文件,您可能需要使用 'zipfile' 模块。有关此模块的详细信息,请在您的 Python 交互式会话中键入 import zipfile
,然后键入 help(zipfile)
顺便说一句,不要将 Python built-in 'zip' 函数与创建 zip 文件的命令混淆——它们完全不相关。
希望这足以让您入门。玩得开心Python!