Python解压zip和rar文件

来源:互联网 发布:php curl模拟表单提交 编辑:程序博客网 时间:2024/05/21 06:48

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 rarfileeasy_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 sysreload(sys)sys.setdefaultencoding('gbk')

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

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 加拿大工签3年到期了怎么办 鞋子穿久了会有臭味怎么办 考研忘了自己填写的通讯地址怎么办 基础教育教师培训网注册错了怎么办 11个月宝宝便秘大便有血怎么办 两岁宝宝两天没拉粑粑了怎么办 两岁宝宝两天没拉大便怎么办 两岁宝宝便秘两天没拉怎么办 昨天带孩子上早教课一直哭怎么办 网页账号注册无法获取验证码怎么办 我总是为一些事情而烦恼怎么办 手机键盘打出的字是繁体字怎么办 阴阳师协助任务对方接了不做怎么办 wow牧师选错了圣物怎么办 淘宝有几个订单被管控了怎么办 埋线双眼皮一个宽一个窄怎么办 把维D和维C一起吃了怎么办 微信出现当前登录环境异常该怎么办 去麦加朝觐人要出现死亡怎么办 炉石传说偶数骑削弱后怎么办 出于安全和性能方面的原因怎么办 怀孕后不知道拍过好几次牙片怎么办 百度云种子含有非法离线内容怎么办 苹果手机上的迅雷怎么打不开怎么办 微信绑定银行卡收不到验证码怎么办 支付宝转账为什么没验证码怎么办 电视时间比手机慢三分钟怎么办 13岁现在有月经又流鼻血怎么办 酒店给客人把房间开错了怎么办 手机百度云下载的视频分解了怎么办 知道家人被绑架北派传销怎么办 接手前同事的客人无回复怎么办 喝了酒第二天一直吐怎么办 孩子看的鬼片不敢睡觉害怕怎么办 宝宝满月了脸还有点黄怎么办 我情人天天说没时间出去该怎么办 两个月宝宝下体三角区肿了怎么办 夏养的龙猫家里有味怎么办 不小心踩到仓鼠吐血了怎么办 不小心踩到仓鼠的头怎么办 母仓鼠生完孩子特别暴躁怎么办