Python解压zip和rar文件,及解决中文问题

更多0
Python RAR Zip

如上篇所说,我要使用Python解压一些文件,一来就不懂,google到zipfile了,然后又google到rarfile了。rarfile是模仿zipfile模块写的,所以接口几乎一样,只有rar和zip的字符差别。但是zip功能是python内置模块,rar不是,不是亲妈生的有些问题,还存在严重的跨平台问题。

(所以此文有点操作系统区别,rarfile需要unrar.exe的支持,我只在win7下测试了)

1.ZipFile

这是个内置模块,所以google一下就找到了。在Python官网有很全的文档,全英文,去年认真学的英文此刻觉得很感动。在写此文时有个意外收获,它提供了zipfile.is_zipfile(filename)接口,不过我上篇的 filetype判断还是有用的,所以不会回头去改实现了。

我需要的功能的全部解压,所以用到了ZipFile.extractall([path[, members[, pwd]]])这个函数。其他函数没时间一个一个试过去,知其意和知其有这个接口就好了,下次用到再测试,免得把问题复杂化。

2.RarFile

安装一般都是 (这里有python第三方安装方法的大全)

pip install rarfile
或
easy_install http://prdownload.berlios.de/rarfile/rarfile-2.4.tar.gz

前提是你安装了pip或easy_install,如果都没装那就只能手动安装了,方法是下载解压,然后找到setup.py

python setup.py install

还不行,你安装python了么,或者把python路径设为环境变量了么?

用法跟zip一样,文档 不一一解说了。测试时产生了如下错误

rarfile.RarExecError: Unrar not installed? (rarfile.UNRAR_TOOL='unrar')

everything 了一下unrar,在winrar的目录中找到unrar.exe,把着侥幸的心理把他拷贝到我的python脚本目录下,再执行就ok了。看来使用rarfile需要系统安装unrar并环境变量path中(命令行可以直接访问到)

3.中文问题

Python里的中文一直是我头大的问题,不过久而久知也大概知道怎么解决,但今天出现的问题又让我头大了。然后,坚持不懈的我还是把他解决了。传说这个问题也在windows系统中常见,大牛不在windows世界中混,或者大牛不在windows的中文系统中混。苦逼了我们这些被迫用windows的程序员(其实我也喜欢在MacOS和Ubuntu下折腾,但是公司的事无解了)。屁话少说,直接上问题和解决方法

UnicodeEncodeError: 'ascii' codec can't encode characters in position 44-48: ordinal not in range(128)

在程序开头加上以下代码

import sys
reload(sys)
sys.setdefaultencoding('gbk')

如果你在windows的中文系统中遇到中文会遇到莫名其妙的问题,就加上这些代码。

Python解压zip和rar文件相关推荐

  1. 使用Python解压zip、rar文件

    解压 zip 文件 基本解压操作 import zipfile''' 基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]]) ...

  2. php 判断是rar或是zip文件,PHP解压zip和rar文件的方法介绍

    PHP解压zip和rar文件的方法介绍?实例代码举例php语言如何解压文件.php开发经常会遇到解压zip和rar文件,以下方法供大家参考,判断文件是zip类型的还是rar类型,调用相关组件执行解压缩 ...

  3. Linux 下载安装 rar 并解压rar压缩包(Linux下如何解压.zip和.rar文件)

    Linux下如何解压.zip和.rar文件,对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于zip linux下提供了zip和unzip程序,zip是 ...

  4. Ubuntu 14 如何解压 .zip、.rar 文件

    .zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压. [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...

  5. python 解压文件 已存在_python解压zip和rar文件问题以及解决方法

    写此文的目的是记录自己的学习过程,一些经过,遇到问题以及解决问题的方法,存放在这里,方便自己以后复习以及自己的一些总结,如果此文对你有帮助,请随时联系我微信:wangzhixiong1533 ◆ ◆ ...

  6. Python解压zip文件出现TypeError: pwd: expected bytes, got str的解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  7. linux 压缩7z文件夹,Linux 下压缩与解压.zip和.rar及.7z文件

    Linux 下压缩与解压.zip和.rar及.7z文件对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于.zip linux下提供了zip和unzip程 ...

  8. python解压zip文件_python-29 python解压压缩包的几种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...

  9. python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法

    解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...

  10. 解压zip、rar、gz格式文件

    rar解压版本:需要使用0.7,其他版本尝试了,不行,而且rar压缩的时候,也需要指定rar4,高版本不支持 <!--解压rar压缩--><dependency><gro ...

最新文章

  1. 一份整理 | PyTorch是什么,为何选择它
  2. 不满你说,我最近跟Java源码杠上了...
  3. 积分路径上有奇点的积分_复变函数导数与积分与级数
  4. asp.net导出GridView数据到Excel
  5. android 获取apk中的素材图片
  6. 第三次学JAVA再学不好就吃翔(part63)--String和int的相互转换
  7. 代理类Proxy------ WeakHashMap----ReferenceQueue---- Reference
  8. csdn markdown 编辑器开启
  9. retinanet 部署_再谈RetinaNet
  10. 能帮你快速设计好APP的UI kits套装
  11. 包装应由厂家回收利用
  12. Atitit nosql的概念与attilax的理解 目录 1. 常见的nosql 二、Redis,Memcache,MongoDb的特点 1 HBase 1 2. Nosql的核心nosql 1
  13. CSS实现导航栏半透明背景效果
  14. HTML常用语法及标签(第一天所学)
  15. CentOS7.5 远程桌面设置
  16. 今天鹏鹏会来,待会一起出去买东西。
  17. VM ware安装Cent OS系统并配置静态IP
  18. Hdu 2389 Rain on your Parade
  19. 百度云盘APP中去除我的应用数据图标:ES File Exploer
  20. 配置服务器映射时提示接口地址不支持UNR

热门文章

  1. QListView 的高性能加载方案
  2. mapminmax函数
  3. python就业班2017_2017黑马Python就业班视频教程
  4. 中国智能配电系统行业市场供需与战略研究报告
  5. 跨站请求伪造(CSRF)
  6. 跨站点请求伪造的处理方法
  7. autocad2013安装闪退_Win10系统打开AutoCad闪退的两种修复方法
  8. HTML分页插件功能实现
  9. 什么是分布式定时任务框架?
  10. 高斯误差函数erf的数值计算方法(C++实现)