本文解决在某个目录中有很多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])] )
转载请注明:爱开源 » Python批量解压rar