使用Python批量解压缩文件(zip,rar)
使用Python批量解压缩文件(zip,rar)
我们在前面批量爬取了PPT模板,但是下载的都是压缩文件,要是一个一个解压缩的话会耽误我们很多的时间,于是我们写一个批量解压缩的脚本去做这件事情!
# -*- coding: utf-8 -*-
//解压zip文件
import zipfile
import os
import sys//reload(sys)
//sys.setdefaultencoding('gbk') #如遇到无法识别中文而报错使用# 将zip文件解压处理,并放到指定的文件夹里面去def unzip_file(zip_file_name,destination_path):archive = zipfile.ZipFile(zip_file_name,mode='r')for file in archive.namelist():archive.extract(file, destination_path)a = "C:/Users/wy/Desktop/zipfile/zip" #zipfile 的路径
b = "C:/Users/wy/Desktop/zipfile/unzip" #解压到路径unzip下def zipfile_name(file_dir):# 读取文件夹下面的文件名.zipL=[]for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] == '.zip': # 读取带zip 文件L.append(os.path.join(root, file))#print(L) return L#入口函数
def main():fn=zipfile_name(a)for file in fn:unzip_file(file,b)if __name__ == "__main__":main()
print("done")#zipfile解压中文zip文件会导致乱码,解决方案是要修改python库中的zipfile.py
#将文件中所有的'cp437'字符替换为'gbk'
发现解压的都是中文乱码,但是里面的内容还好不是中文乱码的,不过解决方案也是有的,只不过博主比较懒,就不改了
发现解压的都是zip格式的压缩包,zipfile这个库是Python自带的库,但是我们上面的rar格式的压缩包怎么办呢?当然也是有办法解压的,其实这两个库用法都差不多,我在下面写个Demo,由于本人能力有限找不到64位的unrar.dll,于是还有点错误
# -*- coding: utf-8 -*-
import zipfile
import rarfile
import os
from unrar import rarfile
import sysreload(sys)
sys.setdefaultencoding('gbk')# 将zip文件解压处理,并放到指定的文件夹里面去def unzip_file(zip_file_name,destination_path):archive = zipfile.ZipFile(zip_file_name,mode='r')for file in archive.namelist():archive.extract(file, destination_path)def unrar_file(rar_file_name,destination_path):archive = rarfile.RarFile(rar_file_name,mode='r')for file in archive.namelist():archive.extract(file, destination_path)a = "C:/Users/wy/Desktop/zipfile/zip" #zipfile 的路径
b = "C:/Users/wy/Desktop/zipfile/unzip" #解压到路径unzip下def zipfile_name(file_dir):# 读取文件夹下面的文件名.zipL=[]for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] == '.zip': # 读取带zip 文件L.append(os.path.join(root, file))#print(L) return Ldef rarfile_name(file_dir):# 读取文件夹下面的文件名.rarX=[]for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] == '.rar': # 读取带rar 文件X.append(os.path.join(root, file))#print(X) return Xdef main():fn=zipfile_name(a)bn=rarfile_name(a)for file in fn:unzip_file(file,b)for file in bn:unrar_file(file,b)if __name__ == "__main__":main()
print("done")#zipfile解压中文zip文件会导致乱码,解决方案是要修改python库中的zipfile.py,将文件中所有的'cp437'字符替换为'gbk'
由于我下载不到64位的unrar.dll,如果有人解决这个问题,请指教,不胜感激
使用Python批量解压缩文件(zip,rar)相关推荐
- python批量新建文件_python批量处理
python opencv图像二值化批量处理 from skimage import data_dir,io,transform,color,filters import numpy as np im ...
- Python编程--解压缩文件
Python编程–解压缩文件 基于Python内置的shutil模块可以实现对压缩文件的操作. import shutil# 1. 压缩文件 """ # base_nam ...
- 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理
前言 在我对项目组的一些训练图像进行预处理的时候,发现处理的图像是分好了类,在文件夹里的文件夹里,套娃式存储的,所以对我批处理,以及按原文件夹规则进行存储的时候,就会造成很大困扰 但通过下面几个函数的 ...
- 怎样用python批量处理文件夹_python批量处理文件或文件夹
本文实例为大家分享了python批量处理文件或文件夹的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import os,shutil import sys imp ...
- python删除文件和linux删除文件区别_使用Python批量删除文件列表
使用Python批量删除文件列表 环境: 已知要删除的文件列表,即确定哪些文件要删除. 代码如下: #!/usr/bin/env python #coding=utf-8 #目的:本程序主要为删除给定 ...
- Python批量复制文件
Python批量复制文件 首先需要安装shutil库 pip install pytest-shutil # -*- coding: utf-8 -*- """ Crea ...
- python批量移动文件_用python批量移动文件
我是用来移动图片的,其他格式的文档也是可以的,改下后缀列表就可以了 import os,shutil import datetime #将文件夹里的图片全部移动到新文件夹中 #revised by S ...
- python批量转换文件编码
python批量转换文件编码 3年之前 python 今天在 eclipse 中导入了个之前的 swing 项目,结果跑起来后乱码,检查代码发现竟然一部分 java 文件是 utf-8 编码, ...
- python批量修改文件扩展名
python批量修改文件扩展名录 前言 代码如下 前言 利用python将文件夹里的.txt文件修改为.tif文件. 代码如下 import os dir='/home/下载/'#文件所在目录 fil ...
- python批量创建文件夹
python批量创建文件夹 觉得有用的话,欢迎一起讨论相互学习~ 参考资料 Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法 python获取指定 ...
最新文章
- 手写 Spring 事务、IOC、DI 和 MVC
- 为什么nodejs是单进程的_Nodejs·进程
- boost使用Proto转换来实现的例子
- 雷达多普勒频率计算公式_雷达系统的用途、分类,影响雷达性能的关键要素
- js判断fck编辑器内容是否为空并获得焦点
- python:SyntaxError: invalid syntax报错
- 0基础学python要多久-零基础学Python的过程有多难?需要多久?
- yolov3从头实现(五)-- yolov3网络块
- 《HTML5和CSS3快速参考》——第1章 走进HTML51.1 概述
- 网络书店可行性分析报告
- (更新)视频设备通过rtsp接入amazon alexa echo show
- DedeCMS总是提示验证码不正确的解决方法
- aptana eclipse linux,eclipse Aptana 插件介绍以及安装
- 三周年· “三”生万物 | 步履不停,静候时代的馈赠
- 工作描述的介绍|如何写工作描述
- Ajax创建步骤内含兼容
- OCT-模拟集成电路设计的九个境界
- SecureCRT8.3 软件及注册码
- 移动端拍照上传到服务器
- 【附源码】计算机毕业设计SSM洗浴管理系统
热门文章
- gif转换成jpg,这个方法很简单
- 人脸识别php程序,教你用PHP实现微信小程序人脸识别刷脸登录功能
- 如何用 Python 快速开发一个网站
- 未联网环境下:离线安装Zsh和Oh My Zsh
- 学计算机去一线城市,这5个“新一线”城市在线抢人,选择去这上大学非常有前景!...
- ui设计 原则 要素_ui设计原则
- HBuilder配置浏览器
- java罗马数字_整数转罗马数字以及罗马数字转整数(java实现)
- OpenGL Assimp的骨骼动画
- Windows的复制粘贴快键键突然不可用的解决方案