Python模块学习4-zipfile
阅读时间:全文 583 字,预估用时 3 分钟
创作日期:2017-08-04
下篇文章:Python模块学习3-os
BEGIN
模块说明
本人linux下处理压缩包一般用7z命令,很好用,今天学习python的zipfile模块,用python处理zip压缩包也挺方便的哈。
常用处理zip流程
提供了常用的ZipFile和ZipInfo类,用于处理zip包和查看文件属性。
import zipfile
z = zipfile.ZipFile('xxx.zip', 'w') #打开压缩包文件
#各类操作
z.write('myfile.txt')
z.writestr('test.txt', 'haha')
z.namelist()
z.close() #关闭读写并结束文件占用
zipfile.ZipFile对象
实例化并返回ZipFile对象:ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)
- mode:r表示只读,w为文件不存在则创建,存在则覆盖,a则表示继续读写操作。
- 当zip文件大于2GB时allowZip64应设为True。
如zipfile.ZipFile('xxx.zip', 'w')
当前目录新建或覆盖zip文件,返回ZipFile对象。
ZipFile对象的属性及方法有:
namelist()
: 返回压缩包里的所有文件的文件名。infolist()
: 返回压缩包内每个文件的InfoFile对象。getinfo(file_name)
: 返回压缩包内指定文件的InfoFile对象printdir()
: 打印压缩包内的文件及目录信息,包括文件名、最后修改日期及所占内存大小。comment()
: 返回压缩包的注释文本。comment(comment_text)
: 设置压缩包的注释文本。setpassword(pwd_text)
: 为当前压缩包设置密码。read(self, name, pwd=None)
: 返回压缩包内指定文件的文本信息。open(self, name, mode="r", pwd=None)
: 返回压缩包内指定文件的zipfile.ZipExtFile对象,用于文件操作。extract(self, member, path=None, pwd=None)
: 解压指定文件到指定目录,默认当前目录。extractall(self, path=None, members=None, pwd=None)
: 解压多有文件到指定目录,默认当前目录。write(self, filename, arcname=None, compress_type=None)
: 向压缩包中添加指定文件。writestr(self, zinfo_or_arcname, bytes, compress_type=None)
: 向压缩包中添加文件,并写入文本内容。close()
: 结束操作并关闭对压缩包文件的读写占用。
zipfile.ZipInfo对象
ZipInfo对象储存文件的基本信息。通过__slots__
属性查看所有的ZipInfo对象的所有属性名。
zipfile.ZipExtFile对象
前面提到的zipfile.ZipFile.open()方法返回的对象,用于处理文件内容。
readline()
: 读取一行文本,此时游标指向第二行。read()
: 读取全部文本,此时游标指向最后一行。read1(num)
: 读取文件指定字符个数的内容,游标指向所有读取个数的加1个。close()
: 结束操作并关闭对文件的读写占用。
FINISH
下篇文章:Python模块学习3-os