pyzip是一个包,用于将内存中的zip内容作为字典处理。

pyzip的Python项目详细描述


pyzip是一个包,用于将zip内容作为字典进行管理。

https://badge.fury.io/py/pyzip.svghttps://travis-ci.org/ipazc/pyzip.svg?branch=masterhttps://coveralls.io/repos/github/ipazc/pyzip/badge.svg?branch=masterCode Health

这个压缩过程够简单吗?

>>>frompyzipimportPyZip>>>>>>pyzip=PyZip()>>>pyzip['key1']=b"content_bytes">>>pyzip['key2']=file_bytes>>>>>>pyzip.save("/path/to/file.zip")>>>zip_bytes=pyzip.to_bytes()# Alternatively, to bytes

它运行在模块zipfile之上,但是除了它的功能之外,pyzip还接受编辑和删除 拉链的元素。此外,它还提供完整性检查,以确保成功存储元素(sha256散列)。

安装

目前只支持python 3.4.1以后的版本:

sudo pip3 install pyzip

基本用法

pyzip可以轻松地将内容存储到一个动态的zip中。用法与普通词典相同:

  • 将内容添加到内存中zip:
>>>frompyzipimportPyZip>>>>>>pyzip=PyZip()>>>pyzip['key1']=b"content_bytes"
  • 获取特定内容:
>>>print(pyzip['key1'])b"content_bytes"
  • 编辑内容:
>>>pyzip['key1']=b"replaced_content_bytes"
  • 删除内容:
>>>delpyzip['key1']
  • 获取zip字节:
>>>zip_bytes=pyzip.to_bytes()
  • 从字节加载:
>>>pyzip=PyZip().from_bytes(zip_bytes)
  • 保存到zip文件:
>>>pyzip.save("path/to/file.zip")
  • 从zip文件加载:
>>>pyzip=PyZip().from_file("path/to/file.zip")
  • 将现有字典转换为PyZip:
>>>pyzip=PyZip({'file1':b'example','file2':b'example2'})
  • 也可以将多级dict转换为pyzip:
>>>pyzip=PyZip({'file1':b'example','file2':b'example2','folder1':{'file1':b'file1 in folder1'}})

用例

pyzip可以与PyFolder一起使用,以简化文件夹和zip的压缩和解压缩:

递归地将文件夹压缩到zip:

>>>frompyzipimportPyZip>>>frompyfolderimportPyFolder>>>>>>path_to_compress="route/to/files">>>>>>pyzip=PyZip(PyFolder(path_to_compress,interpret=False))>>>pyzip.save("compressed_folder.zip")>>>

从zip递归解压缩以前压缩的文件夹:

>>>frompyzipimportPyZip>>>frompyfolderimportPyFolder>>>>>>destination="route/for/uncompress">>>>>>pyzip=PyZip(PyFolder(destination,interpret=False)).from_file("compressed_folder.zip",inflate=False)>>>

许可证

它是根据麻省理工学院的许可证发行的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
值为ArrayList的java ConcurrentHashMap   使用SpringRESTTemplate的java Post多部分(PDF)文件   如果数据太小,Java刷新进程的输出流不会立即发送数据   游戏物理Java:玩家移动错误   java使用小型数据类型是否会减少内存使用(从内存分配而不是效率)?   java如何在SeleniumWeb驱动程序的类属性中验证映像   java使用Maven汇编插件设置Linux文件权限,即使在其他平台上运行?   java我需要在一个对象中保存一个mp4文件,以便将其存储在链接列表中。可能吗?   java删除组织中的重复项。dom4j。文档对象   java组织。冬眠LazyInitializationException:无法初始化没有会话5的代理   java使用JFileChooser允许Swing用户指定输出位置   java JFreeChart,如何重新缩放yaxis   java响应头GAE端点   java安卓:更改视图大小