中文编码难点亚洲城ca88手机版官网,Python压缩和平化解压缩zip文件

亚洲城ca88手机版官网

RedHat Linux 6.0 中文编码问题

RedHat Linux 6.0 中文编码问题描述:

FTP传一个中文压缩文件上服务器,若是ZIP文件中存在中文文件名,则解压出来会乱码。

解决办法:

把以下脚本保存成unzipgbk.py,存放于/bin目录下,解压时候用类似以下的命令:unzipgbk
中文名称.zip

#!/usr/bin/env python
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()
[[email protected]
bin]# more unzipgbk
if [ $# -ne 1 ] ; then
        echo “Usage testabc filename”
        exit 0;
fi;

echo “argument is ” $1
python /bin/unzipgbk.py $1

更多RedHat相关信息见RedHat 专题页面

Linux 6.0 中文编码问题 RedHat Linux 6.0
中文编码问题描述:
FTP传一个中文压缩文件上服务器,若是ZIP文件中存在中文文件名,则解压出来…

Python压缩和解压缩zip文件,

zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。
python解压zip文档:

复制代码 代码如下:

#/usr/bin/python
#coding=utf-8

import os,sys,time
import zipfile

filename = ‘callofdutyblackopszombies_1349649132343_my.zip’ 
#要解压的文件
filedir = ‘data/’  #解压后放入的目录
r = zipfile.is_zipfile(filename)
if r:
    starttime = time.time()
    fz = zipfile.ZipFile(filename,’r’)
    for file in fz.namelist():
        print(file)  #打印zip归档中目录
        fz.extract(file,filedir)
    endtime = time.time()
    times = endtime – starttime
else:
    print(‘This file is not zip file’)
print(‘times’ + str(times))

python压缩文件夹为zip

复制代码 代码如下:

#/usr/bin/python
#coding=utf-8

import os
import zipfile
import sys

try:
    import zlib
    compression = zipfile.ZIP_DEFLATED
except:
    compression = zipfile.ZIP_STORED

path = ‘data/’  #要进行压缩的文档目录
start = path.rfind(os.sep) + 1
filename = ‘callofdutyblackopszombies_1349649132343_my.zip’ 
#压缩后的文件名

z = zipfile.ZipFile(filename,mode = “w”,compression = compression)
try:
亚洲城ca88手机版官网,    for dirpath,dirs,files in os.walk(path):
        for file in files:
            if file == filename or file == “zip.py”:
                continue
            print(file)
            z_path = os.path.join(dirpath,file)
            z.write(z_path,z_path[start:])
    z.close()
except:
    if z:
        z.close()

zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。
python解压zip文档: 复制代码 代码如下…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图