python解决Fedora解压zip时中文乱码的方法

作者:daisy 时间:2021-06-02 09:23:09 

前言

很多时候在windows下压缩文件没问题,但是到了Linux下,出现乱码,很常见。以前在Ubuntu下,用`unzip -O GBK filename.zip` 就可以搞定。 换了Fedora后,暂时没发现乱码的压缩文件。晚上下载一本书的光盘,又碰到了乱码。尝试之前的方法没成功。看了下unzip的help,没-O那个参数了== 刚好找到一个用python解决的办法,分享下。

新建一个`.py`后缀的文件,直接复制粘贴代码:


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import zipfile

print "Processing File " + sys.argv[1]

file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
 utf8name=name.decode('gbk')
 print "Extracting " + utf8name
 pathname = os.path.dirname(utf8name)
 if not os.path.exists(pathname) and pathname!= "":
   os.makedirs(pathname)
 data = file.read(name)
 if not os.path.exists(utf8name):
   fo = open(utf8name, "w")
   fo.write(data)
   fo.close
file.close()

执行解压zip文件,可爱的中文就出来了。


python 文件名.py 需要解压的文件名.zip

总结

好了,这个问题就这么简单的解决了,大家都学会了吗?希望这篇文章对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

标签:python,fedora,解压,zip
0
投稿

猜你喜欢

  • Vue父子组建的简单通信之控制开关Switch的实现

    2024-06-05 09:16:25
  • 傲游对开发人员的影响越来越大了

    2009-10-14 13:16:00
  • django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】

    2022-02-27 23:20:03
  • Python使用paramiko连接远程服务器执行Shell命令的实现

    2023-01-19 15:25:39
  • Python爬虫之Selenium实现关闭浏览器

    2022-12-09 07:11:03
  • MySql存储过程和游标的使用实例

    2024-01-13 09:50:11
  • Python Json读写操作之JsonPath用法详解

    2022-09-20 04:18:48
  • Python Opencv任意形状目标检测并绘制框图

    2023-06-06 19:03:43
  • python中为main方法传参问题

    2023-05-20 04:48:12
  • PHP中number_format()函数的用法讲解

    2023-06-02 15:48:12
  • asp如何实现页面延迟?

    2010-06-03 10:18:00
  • python访问sqlserver示例

    2022-07-15 07:25:01
  • Pytest使用logging模块写日志的实例详解

    2022-06-17 01:51:43
  • python高并发异步服务器核心库forkcore使用方法

    2021-12-04 18:38:24
  • eWebEditor不支持IE8的解决方法

    2009-11-02 10:59:00
  • centos7上mysql8.0rpm方式安装教程图解

    2024-01-13 06:23:59
  • Asp无组件生成缩略图

    2007-10-26 12:08:00
  • Python实现钉钉/企业微信自动打卡的示例代码

    2022-02-18 21:54:02
  • Python基于Django实现验证码登录功能

    2023-06-25 03:21:13
  • Python机器学习性能度量利用鸢尾花数据绘制P-R曲线

    2023-01-27 20:55:48
  • asp之家 网络编程 m.aspxhome.com