本文解决在某个目录中有很多rar压缩文件,而且后缀是.exe,利用Python将其批量解压缩。
首先需要安装UnRAR模块(在文章底部可以下载),他是利用ctypes来调用UnRAR.dll进行解压操作,需要Python2.3或以上的版本才能使用,只能在win系统下使用。Python代码如下
# -*- coding: utf-8 -*-
import os
import UnRAR
#这里指定的是当前目录,获得当前目录下的总文件数rarNum
rarList = os.listdir('.')
rarNum = len(rarList)
#循环获取目录下所有的文件
n = 0
while n < rarNum:
fileName = rarList[n]
#如果文件以.exe结尾
if fileName.find('.exe') != -1:
#则将其解压
UnRAR.Archive(fileName).extract()
#并删除染毒的文件(会比较麻烦,还是先不删除了)
#os.remove(fileName)
n = n+1
else:
#暂时不需要什么处理,所以就只是给循环加了1
n = n+1
这样就可以解压当前目录下的所有压缩文件了,或者将.exe换成.rar,经测试均可以正常解压。
将其打包为exe可执行文件,使用py2exe时,要注意加上UnRAR模块,这里使用setup.py作为安装程序文件名,代码如下:
from distutils.core import setup
import os
import py2exe
import UnRAR
UnRARDLL = os.path.join(os.path.split(UnRAR.__file__)[0], 'UnRARDLL','unrar.dll')
includes = ["UnRAR"]
setup(
console = ['unrar.py'],
data_files = [('.', [UnRARDLL])]
)
文件信息:pyUnRAR-1.0.win32.exe 大小:179kb
有效时间:永久
[…] 但这样会导致同名exe也会被修改。比较简单的是使用其他语言脚本,比如Python。Python批量解压缩的程序。 […]