#coding:utf-8
import zipfile
import os
class Compress_file(object):
"""
:将文件进行压缩或解压
"""
def __init__(self):
pass
def all(self,in_path,out_path):
"""
:将整个文件夹压缩到压缩文件中
:params in_path 需要压缩的问价路径 例如:F://test/
out_path 压缩文件输出路径及名称 例如:F:/test.zip
:注 出现 Compression requires the (missing) zlib module
.解决方法: yum install zlib zlib-devel
"""
try:
#打开压缩文件
f = zipfile.ZipFile(out_path,'w',zipfile.ZIP_DEFLATED)
#读取文件夹下所有文件
for dirpath, dirnames, filenames in os.walk(in_path):
#将文件写入到压缩文件中
for filename in filenames:
f.write(os.path.join(dirpath,filename))
del dirnames
except:
raise
finally:
f.close() #关闭压缩文件
def one(self,in_path,out_path):
"""
:将单个文件或多个独立文件添加到压缩文件中
:params in_path 需要压缩的问价路径 列表 例如:['F://test/test.jpg','F://test/test1.jpg']
out_path 压缩文件输出路径及名称 例如:F:/test.zip
"""
try:
#打开压缩文件
f = zipfile.ZipFile(out_path,'w',zipfile.ZIP_DEFLATED)
for inPath in in_path :
#将列表中的所有文件写入到压缩文件中
f.write(inPath)
except:
raise
finally:
f.close() #关闭压缩文件
def decompress(self,in_path,out_path):
"""
:解压压缩文件
:params in_path 需要解压的压缩文件 例如:F:/test.zip
out_path 解压路径 例如:'F://test/
"""
try:
#打开压缩文件
zip_file = zipfile.ZipFile(in_path)
#判断解压路径是否存在
if os.path.exists(out_path):
pass
else:
os.mkdir(out_path)
#解压问价
for names in zip_file.namelist():
zip_file.extract(names,out_path)
zip_file.close()#关闭压缩文件
except:
raise
python 压缩和减压文件
最新推荐文章于 2024-08-29 09:21:27 发布