200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 使用Python批量解压缩文件(zip rar)

使用Python批量解压缩文件(zip rar)

时间:2018-12-01 21:41:50

相关推荐

使用Python批量解压缩文件(zip rar)

使用Python批量解压缩文件(zip,rar)

我们在前面批量爬取了PPT模板,但是下载的都是压缩文件,要是一个一个解压缩的话会耽误我们很多的时间,于是我们写一个批量解压缩的脚本去做这件事情!

# -*- coding: utf-8 -*-//解压zip文件import zipfileimport osimport 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 zipfileimport rarfileimport osfrom unrar import rarfileimport 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,如果有人解决这个问题,请指教,不胜感激

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。