最新消息:

Python批量解压rar

python admin 3641浏览 0评论

本文解决在某个目录中有很多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

您必须 登录 才能发表评论!