提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
因为下载了一批珍惜资源,需要尽快处理掉,所以搞了一个相对高效的解压脚本。脚本调用bandizip 的bz.exe,只解压过7z,未测试zip、tar、rar等格式,不过应该没问题。(需要添加后缀检测)
用了多进程,有点效果。
1.引入库
代码如下(示例):
# coding="utf-8"
#批量处理压缩文件名、解压缩与去除文件夹
import os
import re
import py7zr
import multiprocessing
from multiprocessing.pool import Pool
#这里允许多个密码,毕竟不能指望大量压缩文件密码相同。密码不多的话基本不影响速度。
#如果不知道密码,建议写个脚本暴力破解或者再去找找?
passes=[pw1,pw2]
#解压文件根目录
dirname=[filepath1,filepath2]
def unzip(contents,deep=0):
# isdir用于判断路径是否为目录,是目录的话需要进一步的循环读取
#文件夹下仅一个文件则,文件上移(去除冗余文件夹)
topdir=os.path.dirname(contents)
#文件夹下只有一个文件则文件上移,这里没认真写
if re.findall(r"请直接保存文件夹",topdir):
for i in os.listdir(topdir):
curcontents=os.path.join(os.path.dirname(contents),i)
newcontents=os.path.join(os.path.dirname(topdir),i)
os.rename(curcontents,newcontents)