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

前言

很多时候在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

总结

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索fedora解压zip
zip解压缩文件名乱码、zip解压乱码、zip解压文件名乱码、zip解压后乱码、java解压zip文件乱码,以便于您获取更多的相关知识。

时间: 2024-10-30 10:41:19

python解决Fedora解压zip时中文乱码的方法_python的相关文章

PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

    在项目中要用ZipArchive解压ZIP文件,起初测试环境在WINDOWS平台中,测试通过,换到 LINUX+nginx 的环境中时 就出问题了(ZIP包中有文件和文件夹一共3百多个文件,大部分是带汉字的文件名),问题的现象是:不带汉字的文件解压没有问题,另外有部分带汉字和数字字母的文件解压没有问题,然后其他纯文字的文件名就丢失了,也没有报错,最后把问题定位到了extractTo()方法,这个方法尼玛是个封装的方法,看不到实际的源代码.       但是,发现 for($i = 0;

java压缩zip文件中文乱码问题解决方法_java

通常用java来打包文件生成压缩文件后,有如下两个地方会出现乱码 : 1.内容的中文乱码问题,这个问题网上很多人给出了解决方法,主要有两种方法:一是修改sun的源码:另一个是使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以直接下载使用即可,毫无疑问,选择后者更方便 2.压缩文件注释的中文乱码问题:zos.setComment("中文测试");这个问题网上对

解决ajax提交表单时中文乱码的问题

网上搜索结合自己开发过程中遇到的情况,整理一下,以备忘: Ajax表单提交数据出现乱码和解决办法    //要传递的参数   var queryString = "firstName=" + firstName + "&lastName=" + lastName                          + "&birthday=" + birthday;    function   //GET方式提交    doRequ

JAVA POST与GET数据传递时中文乱码问题解决方法_JSP编程

做了N年的java开发从没有自己写过一个网站,最近乱忙活弄了一个企业家宣传网站. 跟大家一样遇到了中文字符集乱码问题,为了大家能少走一些弯路,所以在此分享一下即简单又实用的解决方法. 1. POST 数据传递 接收页 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacterEnco

解决刻录音乐光盘mp3出现中文乱码的方法

图片:  图片:  图片:  图片:  图片:  1.目前,很多人自己刻录音乐光盘以便在车载播放器里播放,但往往刻录出来的CD光盘会显示乱码,导致播放出来的音乐看不到是什么歌名和哪个歌手唱的.用nero等刻录音乐光盘会显示乱码,应该是nero并不支持中文名导致的. 2.我目前就遇到这种情况,在百度上找不到明确的方法.自己花了好几个小时,终于搞定了.如果遇到和我一样的问题,可以参考我的解决方法. 3.用到的软件包括:分轨cue文件生成器.DAEMON Tools Pro.NeroExpressPo

python解决字典中的值是列表问题的方法_python

问题:查找一些英文词在哪些小句中出现了,当然是用python来实现,当然是用字典,但是怎么让一个key对应一个 类型为列表的value,直接用列表的append()是不行的,比如dic[key].append(value),因为解释器并不知道 dic[key]的类型,当时赶时间,用了一个折衷的方案,就是先用value连成一个str,最后用str.split()作一个转换,生成一个列表.     看了python cookbook,上面正好有一个recipe讲到如何处理这样的问题,好了,揭晓答案吧

Ubuntu解压zip文件乱码的解决方法_Linux

前言 本文介绍的是Ubuntu解压zip文件乱码的解决方法,共有2种方式解决问题,下面话不多说,来一起看看吧 一.通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 二.在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936&quo

支持中文Java压缩与解压zip文件程序代码

apache ant下载地址: http://ant.apache.org/bindownload.cgi 把lib/ant.jar放到我们项目的构建路径中,只需要ant.jar.其实ant的zip API与jdk的高度相似,如果之前是用jdk的api写的,基本上只要更改顶部的import包就可以了  代码如下 复制代码 package common;   import java.io.BufferedInputStream; import java.io.BufferedOutputStrea

解压zip压缩包中的指定文件(害死人的错误)

使用Java 解压zip压缩包中的指定文件时遇到了问题. 且听我细细道来: 主要方法如下: Java代码   public static byte[] getContent2(final ZipFile zipFile, final ZipEntry zipEntry)               throws IOException {           InputStream inputStream = zipFile.getInputStream(zipEntry);