python UnzipUnrar
时间:2019-02-14
本文章向大家介绍python UnzipUnrar,主要包括python UnzipUnrar使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
# 解压本地zip,rar压缩文件
问题:对rar压缩文件,zip压缩文件解压到本地
注意问题:解压到本地路径,需注意文件路径过长出错。
语言:python 2.3
code:
# -- * -- encoding:utf8 -- * --
import os
# 获取当前目录下所有目录
# 筛选出所有目录的以zip/rar为后缀的文件
# 添加到指定目录
# 解压到指定文件
import zipfile
from multiprocessing import Pool
import rarfile
import os
def un_zip(file_name):
"""unzip zip file"""
new_path = os.path.splitext(file_name)[0]
zip_file = zipfile.ZipFile(file_name)
for names in zip_file.namelist():
zip_file.extract(names, new_path)
zip_file.close()
# 由于rar通常为window下使用,须要额外的Python包rarfile。
# 可用地址: http://sourceforge.net/projects/rarfile.berlios/files/rarfile-2.4.tar.gz/download
# 解压到Python安装文件夹的/Scripts/文件夹下,在当前窗体打开命令行,
# 输入Python setup.py install
# 下载UnRar.exe
# 链接:http://pan.baidu.com/s/1o8ObqCa 密码:dsru
# 放在当前文件夹,运行main.py。
def un_rar(file_name):
"""unrar rar file"""
# 定义解压路径
new_path = os.path.splitext(file_name)[0]
rar = rarfile.RarFile(file_name)
if os.path.isdir(new_path):
pass
else:
os.mkdir(new_path)
rar.extractall(new_path)
rar.close()
# 返回 zip文件地址列表 rar文件地址列表
def fileUnZip(dir_path, zip_list, rar_list):
files = os.listdir(dir_path)
for i in files:
i = os.path.join(dir_path, i)
if os.path.isfile(i):
# 为目录则重新调用
# 筛选不同格式文件
zip = '.zip'
rar = '.rar'
if os.path.splitext(i)[1] == zip:
zip_list.append(i)
elif os.path.splitext(i)[1] == rar:
rar_list.append(i)
elif os.path.isdir(i):
file_list(i, zip_list, rar_list)
if __name__ == '__main__':
# 路径
dir_path = 'C:\Users\fixfire\unData'
zip_list = []
rar_list = []
file_list(dir_path, zip_list, rar_list)
# 进程数根据cpu数确定,可适量增减
# 解压zip类型文件
pool = Pool(5)
for zip_file in zip_list:
pool.apply(func=un_zip, args=(zip_file,))
# 解压rar类型文件
# pool_rep = Pool(5)
# for rar_file in rar_list:
# pool.apply(func=un_rar,args=(rar_file,))
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法