【python】解决linux下unzip乱码问题

来源:互联网 发布:手机淘宝申请退款在哪 编辑:程序博客网 时间:2024/06/05 19:06

感谢:转载自 http://blog.csdn.net/u013028556/article/details/21698253


问题:

来自windows下zip压缩的文件。由于文件的编码问题,而unzip(UnZip 6.00)又不能修改编码,导致在Linux下unzip出现如下乱码。

liushsh@linux-6kye:> unzip file.zip
Archive:  file.zip
  inflating: -�-�+�+�+�+�2014/+�-�+�+�.gdd  
  inflating: -�-�+�+�+�+�2014/��+��+.gdd  
  inflating: -�-�+�+�+�+�2014/-�-�+�+�.gdd  
  inflating: -�-�+�+�+�+�2014/-�-�+�+Ϧ���-���-+.docx  
  inflating: -�-�+�+�+�+�2014/-�-�+�+�+�+�.docx  
  inflating: -�-�+�+�+�+�2014/��θ+++�.xlsx


解决方法:

运用Python解压文件。

unzip.py

[python] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #!/usr/bin/env python  
  2. import zipfile  
  3. z=zipfile.ZipFile('file.zip')  
  4. for i, f in enumerate(z.filelist):  
  5.         # 这里的gdk和UTF-8,可以依据具体的情况修改  
  6.         # 或者修改成两个运行参数  
  7.         f.filename = f.filename.decode('gbk').encode("UTF-8")  
  8.         z.extract(f)  

0 0