1、读取压缩内文件(必需是.zip格式,其他格式读取都会出错)
代码如下:
import os
import zipfile
with zipfile.ZipFile('c:\\tt\yy.zip', 'r') as zipobj: #这里需要修改一下自己文件的路径即可
for filename in zipobj.namelist():
info = zipobj.getinfo(filename)
print(filename.encode('cp437').decode('gbk'),info.file_size,info.compress_size)
#encode,decode这是解决中文显示乱码 file_size 文件大小,compress_size原缩后的大小
2、从压缩文件将文件解压出来(必需是.zip格式)
代码如下:
import os
import sys
import zipfile
file_contents = zipfile.ZipFile('c:/tt/yy.zip', 'r')
file_contents.extractall('c:/tt/123') #解压指定文件路径
for file in file_contents.namelist():
filename = file.encode('cp437').decode('gbk') #解决中文显示乱码
print(filename)
os.chdir('c:/tt/123') #切换到指定文件路径
os.rename(file,filename) #文件重命名
3、创建压缩包.zip格式(单个文件)
代码如下:
import os
import zipfile
with zipfile.ZipFile("c:/tt/ok.zip","w") as Zipobj: #创建压缩文件的名称
Zipobj.write("c:/tt/123/yy/99.txt") #所要添加到的文件
# r:以读方式打开文件,可读取文件信息。
# w:以写方式打开文件,可向文件写入信息。
# a:以追加模式打开文件(如果想继续添加文件到ok压缩文件中 把W改为A)
#多个文件创建压缩包
import os
import zipfile
filelist = ['c:/tt/123/yy/99.txt','C:/cc/ty/7.png'] #要添的主文件必需存在
with zipfile.ZipFile('c:/tt/cc.zip','w') as zipobj:
for file in filelist:
zipobj.write(file)
总结:
#将压缩包内单个文件解压出来
import zipfile,os
zip=zipfile.ZipFile('z.zip','r')
zip.extract('7.png','./abc')
zip.close()
# #将压缩包全部文件解压出来
import zipfile,os
zip=zipfile.ZipFile('c:/inetpub/z.zip','r') #原文件路径位置
zip.extractall('c:/abc') #解压后文件路径位置
zip.close()