Python3 压缩文件名包含指定关键字的文件

这是我的第一篇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:])



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值