代码:
import zipfile
import zipfile as zip
def YaSuo():
# 1.打开或创建zip文件
zp=zip.ZipFile(file='./LoadFile/python程序创建的压缩包.zip',mode='w',compression=zipfile.ZIP_STORED,allowZip64=False)
print(zp)
'''
功能:创建一个zipFile对象,表示一个zip文件。
参数:
f1le:表示文件的路径或类文件对象(f1le-like object)
mode:指示打开zip文件的模式,默认值为r
r 表示读已经存在的zip文件。
w 表示新建一个zip文档或覆盖一个已经存在的zip文档。
a 表示将数据附加到一个现存的zip文档中。
compression:表示在写zip文档时使用的压缩方法
zipfile.ZIP STORED 只是存储模式,不会对文件进行压缩,这个是默认值
zipfile.ZIP DEFLATED 对文件进行压缩
a11owzip64 表示如果要操作的zip文件大小超过2G,应该将a11owzip64设置为True。
'''
# 2.向压缩包中添加文件或目录
zp.write(filename='D:/我的文档/Desktop/临时文件/灌注桩_许.pdf',arcname='看守所项目灌注桩进度款.pdf')
zp.write(filename='H:/评职称/图片/椰城杯.png',arcname='/评职称资料/椰城杯.png')
zp.write(filename='E:/正式项目\大埔项目/09班组结算/外架班-张传品/结算数据.xlsx',arcname='结算数据.xlsx')
'''
filename:表示向压缩包中添加的文件的路径
arcname:表示文件添加在压缩包中的名称,可以同原文件名不一致。如果需要在压缩包中添加文件夹层级,可以写
成arcname='/评职称资料/椰城杯.png'的形式,表示图片“椰城杯.png”在压缩中的文件夹“评职称资
料”中。该参数必须填,否则运行时会报错。
'''
# 3.关闭zip文件
zp.close()
def JieYa():
# 1.打开文件
zp=zip.ZipFile(file='./LoadFile/python程序创建的压缩包.zip',mode='r')
'''
打开文件的模式选择r,后面两个参数不需要写。
'''
print(zp)
# 2.解压文件
# 2.1解压所有文件
zp.extractall(path='./LoadFile/张三',members=['结算数据.xlsx','看守所项目灌注桩进度款.pdf'])
'''
参数解读:
path:指定解压文件的路径,如果该路径不存在,则会自动创建该路径
members:指定解压的压缩包中的文件名称,数值类型是一个列表。如果为空,则表示解压压缩包中的所有文件。
'''
# 2.2解压指定文件
zp.extract(path='./LoadFile/解压单个文件/',member='结算数据.xlsx')
'''
zp.extract() 一次只能解压一个文件
参数:
path:指定解压的文件夹,如果不存在,则会创建
member:指定要解压的压缩包中的文件名称,数值为字符串。如果解压压缩中文件夹下的文件,则需要在文件
名称前加文件夹的路径。如:member='/评职称资料/椰城杯.png'
'''
# 3.关闭文件
zp.close()
def TestAddFile():
zp=zip.ZipFile(file='./LoadFile/python程序创建的压缩包.zip',mode='a')
zp.write(filename='D:/我的文档/Desktop/毛泽东/毛泽东万岁.txt', arcname='毛泽东万岁.txt')
zp.close()
# JieYa()
TestAddFile()
'''
已经学习至22:20
'''