这是我的第一篇Blog.
下面介绍一个自己写的工具, 可以用于压缩文件名包含指定关键字. 用于备份清理磁盘空间.
python3.6写的, 后面用pyInstaller 打包.
经测试 win7环境下打包的exe能在 win7, windows server 2012 R2 下运行, 不能在windows server 2008 下运行.
import zipfile
import os.path
import re
from sys import argv
script, rootdir, pattern = argv #接受两个参数,第一个是目标根目录,第二个是关键字
os.chdir(rootdir)
zipname = os.path.join(rootdir, pattern + '.zip')
#创建zip file,使用追加模式避免清空之前的文件,第三个参数表示压缩内容
with zipfile.ZipFile(zipname, 'a',zipfile.ZIP_DEFLATED) as z:
#遍历目标根目录,判断每个找到的文件的名字是否包含关键字,排除包含以 .zip结尾的文件
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
if re.search(pattern, filename, flags=0) \
and re.search(r'^((?!\.zip$).)*$', filename, flags=0):
z.write(os.path.join(parent, filename)[len(rootdir)+1:])