一图看懂 bz2 模块:处理压缩和解压缩文件, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

一图看懂 bz2 模块:处理压缩和解压缩文件, 资料整理+笔记(大全)

  • 摘要
  • 模块图
  • 类关系图
  • 模块全展开
    • 【bz2】
    • 统计
    • 常量
      • int
    • 模块
      • 4 io
      • 5 os
      • 6 warnings
      • 7 _compression
    • 函数
      • 8 RLock(*args, **kwargs)
      • 9 open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)
      • 10 compress(data, compresslevel=9)
      • 11 decompress(data)
      • 12 _bz2.BZ2Compressor
        • method
        • 1 compress(self, *args, **kwargs)
        • 2 flush(self, *args, **kwargs)
      • 13 _bz2.BZ2Decompressor
        • data
        • method
        • 4 decompress(self)
      • 14 bz2.BZ2File
        • property
        • method
        • 2 close(self)
        • 3 fileno(self)
        • 8 readinto(self, b)
        • 9 readline(self, size=-1)
        • 10 readlines(self, size=-1)
        • 11 seek(self, offset, whence=io.SEEK_SET)
        • 12 seekable(self)
        • 13 tell(self)
        • 14 writable(self)
        • 15 write(self, data)
        • 16 writelines(self, seq)
    • 内嵌函数或方法
    • 私有或局部
    • 【io】
    • 【os】
    • 【warnings】
    • 【_compression】
    • 统计
    • 常量
      • int
    • 模块
      • 2 io
      • 3 _compression.BaseStream
      • 4 _compression.DecompressReader
        • method
        • 1 close(self)
        • 2 read(self, size=-1)
        • 3 readable(self)
        • 4 readinto(self, b)
        • 5 seek(self, offset, whence=io.SEEK_SET)
        • 6 seekable(self)
        • 7 tell(self)

摘要

全文介绍系统内置 bz2 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

模块图

bz2-module

bz2
	◆io
	◆os
	◆warnings
	_compression

类关系图

bz2-class relationship

bz2-class

bz2-class relationship ellipsis

bz2-class-simple

◆object
	_bz2.BZ2Compressor
	_bz2.BZ2Decompressor
	◆_io._IOBase
		◆_io._BufferedIOBase
			◆_io.BufferedRWPair
			◆_io.BufferedRandom
			◆_io.BufferedReader
			◆_io.BufferedWriter
			◆_io.BytesIO
			◆io.BufferedIOBase
				_compression.BaseStream
					bz2.BZ2File
		◆_io._RawIOBase
			◆_io.FileIO
			◆_io._WindowsConsoleIO
			◆io.RawIOBase
				_compression.DecompressReader

模块全展开

【bz2】

bz2, fullname=bz2, file=bz2.py

libbzip2压缩库的接口。
该模块提供了一个文件接口、用于增量压缩(解压缩)的类以及用于一次性压缩(解压缩)的函数。

统计

序号类别数量
1int3
4str6
6list1
8dict1
9module4
10class3
11function4
12builtin_function_or_method1
13residual2
14system10
15private5
16all25

常量

int

1 _MODE_CLOSED 0
2 _MODE_READ 1
3 _MODE_WRITE 3

模块

4 io

io, fullname=io, file=io.py

5 os

os, fullname=os, file=os.py

6 warnings

warnings, fullname=warnings, file=warnings.py

7 _compression

_compression, fullname=_compression, file=_compression.py

gzip, lzma和bz2模块使用的内部类

函数

8 RLock(*args, **kwargs)

RLock(*args, **kwargs), module=threading, line:75 at threading.py

返回一个新的重入锁的工厂函数。
可重入锁必须由获取它的线程释放。
一旦一个线程获得了一个可重入锁,同一个线程可以再次获得它而不会阻塞;线程每次获得它都必须释放它一次。

9 open(filename, mode=‘rb’, compresslevel=9, encoding=None, errors=None, newline=None)

open(filename, mode=‘rb’, compresslevel=9, encoding=None, errors=None, newline=None), module=bz2, line:285 at bz2.py

以二进制或文本模式打开bzip2压缩文件。
filename参数可以是一个实际的文件名(str、bytes或PathLike对象),也可以是一个可供读取或写入的现有文件对象。
mode参数可以是“r”,“rb”,“w”,“wb”,“x”,“xb”,“a”或“ab”,用于二进制模式,或“rt”,“wt”,“xt”或“at”。
默认模式为“rb”,默认压缩级别为9。
对于二进制模式,这个函数等价于BZ2File构造函数:BZ2File(filename, mode, compresslevel)。
在这种情况下,编码、错误和换行参数必须不提供。
对于文本模式,将创建一个BZ2File对象,并将其包装在io.TextIOWrapper实例,使用指定的编码、错误处理行为和行结束。

10 compress(data, compresslevel=9)

compress(data, compresslevel=9), module=bz2, line:326 at bz2.py

压缩一个数据块。
Compresslevel,如果给出,必须是1到9之间的数字。
对于增量压缩,请使用BZ2Compressor对象。

11 decompress(data)

decompress(data), module=bz2, line:337 at bz2.py

解压缩数据块。对于增量解压缩,使用BZ2Decompressor对象代替。

12 _bz2.BZ2Compressor

BZ2Compressor, _bz2.BZ2Compressor, module=_bz2, line:0 at

创建一个压缩对象,用于增量压缩数据。
compresslevel   压缩级别,取值为1到9之间的数字。对于一次性压缩,请使用compress()函数。

method

1 compress(self, *args, **kwargs)

kind=method class=BZ2Compressor objtype=method_descriptor line:20 at …-1026899380_bz2.py

向压缩机对象提供数据。
如果可能,返回一个压缩数据块,否则返回b''。
完成向压缩器提供数据后,调用flush()方法来完成压缩过程。

2 flush(self, *args, **kwargs)

kind=method class=BZ2Compressor objtype=method_descriptor line:31 at …-1026899380_bz2.py

完成压缩过程。
返回保留在内部缓冲区中的压缩数据。
在调用此方法后,可能不会使用压缩器对象。

13 _bz2.BZ2Decompressor

BZ2Decompressor, _bz2.BZ2Decompressor, module=_bz2, line:0 at

创建一个解压缩对象,用于增量地解压缩数据。对于一次性解压,请使用decompress()函数。

data

1 eof=<member ‘eof’ of ‘_bz2.BZ2Decompressor’ objects> kind:data type:member_descriptor class:<class ‘_bz2.BZ2Decompressor’>
2 needs_input=<member ‘needs_input’ of ‘_bz2.BZ2Decompressor’ objects> kind:data type:member_descriptor class:<class ‘_bz2.BZ2Decompressor’>
3 unused_data=<member ‘unused_data’ of ‘_bz2.BZ2Decompressor’ objects> kind:data type:member_descriptor class:<class ‘_bz2.BZ2Decompressor’>

method

4 decompress(self)

kind=method class=BZ2Decompressor objtype=method_descriptor line:59 at …-1026899380_bz2.py

解压*data*,返回未压缩的字节数据。
如果*max_length*是非负的,则返回最多*max_length*字节的解压缩数据。
如果达到这个限制,可以产生进一步的输出,*self。需要输入*将被设置为``False``。
在这种情况下,下一次调用*decompress()*可能会提供*data*作为b以获得更多的输出。
如果所有输入数据都被解压缩并返回(要么因为它小于*max_length*字节,要么因为*max_length*为负),则*self。
需要输入*将被设置为True。在流结束后尝试解压缩数据会引发EOFError。
流结束后发现的任何数据都将被忽略,并保存在未使用的数据属性中。

14 bz2.BZ2File

BZ2File, bz2.BZ2File, module=bz2, line:0 at

提供透明bzip2 (de)压缩的文件对象。
BZ2File可以作为现有文件对象的包装器,或者直接引用磁盘上的已命名文件。
注意,BZ2File提供了一个二进制文件接口——读取的数据以字节的形式返回,而要写入的数据应该以字节的形式给出。

property

1 closed=<property object at 0x00000000032679F8> kind:property type:property class:<class ‘bz2.BZ2File’>

method

2 close(self)

kind=method class=BZ2File objtype=function line:108 at …\bz2.py

刷新并关闭文件。
可以多次调用而没有错误。
一旦文件被关闭,对它的任何其他操作都会引发ValueError。

3 fileno(self)

kind=method class=BZ2File objtype=function line:138 at …\bz2.py

返回基础文件的文件描述符。```
> #### 4	peek(self, n=0)
> kind=method	class=BZ2File	objtype=function	line:157 at ...\bz2.py

返回缓冲数据,但不提升文件位置。
总是返回至少一个字节的数据,除非在EOF。返回的确切字节数未指定。

> #### 5	read(self, size=-1)
> kind=method	class=BZ2File	objtype=function	line:170 at ...\bz2.py

从文件中读取未压缩字节的大小。
如果size为负数或省略,则读取直到达到EOF。
如果文件已经在EOF,则返回b’'。

> #### 6	read1(self, size=-1)
> kind=method	class=BZ2File	objtype=function	line:180 at ...\bz2.py

读取未压缩字节的大小,同时尽量避免从底层流进行多次读取。
如果size为负,则读取缓冲区的数据值。
如果文件在EOF,则返回b’'。

> #### 7	readable(self)
> kind=method	class=BZ2File	objtype=function	line:147 at ...\bz2.py

返回文件是否被打开以供读取。```

8 readinto(self, b)

kind=method class=BZ2File objtype=function line:193 at …\bz2.py

将字节读入b.返回读取的字节数(EOF为0)。

9 readline(self, size=-1)

kind=method class=BZ2File objtype=function line:202 at …\bz2.py

从文件中读取一行未压缩的字节。
终止换行符(如果存在)被保留。
如果size非负,将读取不超过size字节(在这种情况下,行可能是不完整的)。
如果已经在EOF,则返回b''。

10 readlines(self, size=-1)

kind=method class=BZ2File objtype=function line:217 at …\bz2.py

从文件中读取未压缩字节的行列表。
Size可以指定来控制读取的行数:一旦到目前为止读取的行总大小等于或超过Size,就不会再读取任何行。

11 seek(self, offset, whence=io.SEEK_SET)

kind=method class=BZ2File objtype=function line:257 at …\bz2.py

更改文件位置。新位置由偏移量指定,相对于由何处指示的位置。
where的值为:
    0:流的开始(默认值);偏移量不能为负
    1:当前流位置
    2:流的结束;偏移量不能为负
返回新的文件位置。
注意,搜索是模拟的,因此根据参数的不同,这个操作可能非常慢。

12 seekable(self)

kind=method class=BZ2File objtype=function line:143 at …\bz2.py

返回文件是否支持查找。

13 tell(self)

kind=method class=BZ2File objtype=function line:276 at …\bz2.py

返回当前文件位置。

14 writable(self)

kind=method class=BZ2File objtype=function line:152 at …\bz2.py

返回文件是否被打开进行写入。

15 write(self, data)

kind=method class=BZ2File objtype=function line:232 at …\bz2.py

写入一个字节字符串到文件。
返回写入的未压缩字节数,通常为len(data)。
注意,由于缓冲,在调用close()之前,磁盘上的文件可能不会反映写入的数据。

16 writelines(self, seq)

kind=method class=BZ2File objtype=function line:246 at …\bz2.py

将字节字符串序列写入文件。
返回写入的未压缩字节数。
Seq可以是任何可迭代的字节字符串。
在写入的字节字符串之间不添加行分隔符。

内嵌函数或方法

15 _builtin_open

私有或局部

16 _builtin_open
17 _compression <module ‘_compression’ from ‘…\lib\_compression.py’>
18 _MODE_CLOSED 0
19 _MODE_READ 1
20 _MODE_WRITE 3

【io】

io, fullname=io, file=io.py

【os】

os, fullname=os, file=os.py

【warnings】

warnings, fullname=warnings, file=warnings.py

【_compression】

_compression, fullname=_compression, file=_compression.py

gzip, lzma和bz2模块使用的内部类

统计

序号类别数量
1int1
4str5
8dict1
9module1
10class2
13residual2
14system8
16all12

常量

int

1 BUFFER_SIZE 8192

模块

2 io

io, fullname=io, file=io.py

3 _compression.BaseStream

BaseStream, _compression.BaseStream, module=_compression, line:0 at

模式检查助手函数。

4 _compression.DecompressReader

DecompressReader, _compression.DecompressReader, module=_compression, line:0 at

将解压器API适配为RawIOBase读取器API

method

1 close(self)

kind=method class=DecompressReader objtype=function line:59 at …_compression.py

2 read(self, size=-1)

kind=method class=DecompressReader objtype=function line:72 at …_compression.py

3 readable(self)

kind=method class=DecompressReader objtype=function line:36 at …_compression.py

4 readinto(self, b)

kind=method class=DecompressReader objtype=function line:66 at …_compression.py

5 seek(self, offset, whence=io.SEEK_SET)

kind=method class=DecompressReader objtype=function line:120 at …_compression.py

6 seekable(self)

kind=method class=DecompressReader objtype=function line:63 at …_compression.py

7 tell(self)

kind=method class=DecompressReader objtype=function line:150 at …_compression.py

返回当前文件位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6936.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法基础(王卓)(23):邻接表(链式存储结构)

顶点结点&#xff1a; //顶点的结点结构 typedef struct VNode {VertexType data; //顶点信息ArcNode* firstarc; //指向第一条依附该顶点的边的指针 }VNode, AdjList[MVNum]; //例如&#xff1a;VNode v[MVNum] 相当于 AdjList v 我觉得也可以改成这样写&#xff08;存疑&…

基于数字孪生智慧污水厂Web3D可视化管理系统

城市水环境不仅关系到国民生活的质量&#xff0c;还对我国社会发展有着深入的影响。城市污水处理厂的存在不仅能够提升生态环保工作发挥的效用&#xff0c;还能够向城市居民宣传生态环保的重要性&#xff0c;使得更多的市民认识到节约、环保的意义&#xff0c;能够从自身出发&a…

UVM学习笔记2——验证基础知识(验证计划、验证方法)

文章目录前言一、覆盖率二、验证计划1、验证计划模板2、验证计划评估三、验证方法1、动态仿真/dynamic simulation2、静态检查/formal check3、虚拟模型4、硬件加速/hardware acceleration5、效能验证6、性能验证四、验证分类1、验证工具2、验证复杂度/可见度/透明度3、验证的芯…

Java设计模式(一)单例模式

设计模式是对软件设计中普遍存在的各种问题&#xff0c;提出解决方案 设计模式包含了面向对象的精髓&#xff0c;懂了设计模式&#xff0c;你就懂了面向对象分析和设计的精要。 设计模式的七大原则 1.单一职责原则 2.接口隔离原则 3.依赖倒置原则 4.里氏替换原则 5.开闭原则o…

大数据项目实战之数据仓库:用户行为采集平台——第2章 项目需求及架构设计

第2章 项目需求及架构设计 2.1 项目需求分析 1&#xff09;采集平台 &#xff08;1&#xff09;用户行为数据采集平台搭建 &#xff08;2&#xff09;业务数据采集平台搭建 2&#xff09;离线需求 主题 子主题 指标 流量主题 各渠道流量统计 当日各渠道独立…

pdf压缩文件怎么压缩最小?办公常备软件

PDF文件的大小有时会让人感到困扰&#xff0c;特别是在网络上传输和存储方面。为了解决这个问题&#xff0c;我们需要将PDF文件压缩至最小。 在进行压缩之前&#xff0c;需要检查PDF文件的分辨率和图形质量。通过降低分辨率和图形质量&#xff0c;可以显著减小文件的大小。此外…

springCloud学习【6】之分布式搜索引擎(3)

文章目录前言一 数据聚合1.1 DSL实现聚合1.1.1 Bucket聚合语法1.1.2 聚合结果排序1.1.3 限定聚合范围1.2 Metric聚合语法1.3 小结1.4 RestAPI实现聚合1.5 API语法1.7 案例二 自动补全2.1 拼音分词器的安装2.2 自定义分词器2.3 自动补全查询2.4 自动补全查询的JavaAPI三 数据同步…

Unity升级后打包AssetBundle变慢

1&#xff09;Unity升级后打包AssetBundle变慢 ​2&#xff09;打包使有些资源合成了一个资源data.unity3d&#xff0c;有些分开的原因 3&#xff09;Unreal在移动设备中无法使用Stat命令获取到GPU Thread的耗时 4&#xff09;Unity中如何看到相机视野范围内的剔除结果 这是第3…

【C++】迭代器

内容来自《C Primer&#xff08;第5版&#xff09;》9.2.1 迭代器、9.2.3 begin和end成员、9.3.6 容器操作可能使迭代器失效、10.4.3 反向迭代器 目录 1. 迭代器 1.1 迭代器范围 1.2 使用左闭合范围蕴含的编程假定 2. begin和end成员 3. 容器操作可能使迭代器失效 3.1 编…

【SQL基础笔记】

本文标签: SQL语法 SQL分类 DDL DML DQL DCL 目录 一、SQL语法 二、SQL的分类 三、DDL 1.DDL-数据库操作 2.DDL-表操作 3.DDL-数据类型 4.DDL-表操作 四、DML 五、DQL 1.DQL-基本查询 2.DQL-条件查询: 3.DQL-聚合函数 4.DQL-分组查询 5.DQL-排序查询 6.DQL-分页查询 7.综合案…

让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送

一、脚本内容 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 // UserScript // name ChatGPT自动接上文继续 // namespace http://tampermonkey.net/ // version 1.3 // description 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 /…

Elasticsearch:高级数据类型介绍

在我之前的文章 “Elasticsearch&#xff1a;一些有趣的数据类型”&#xff0c;我已经介绍了一下很有趣的数据类型。在今天的文章中&#xff0c;我再进一步介绍一下高级的数据类型&#xff0c;虽然这里的数据类型可能和之前的一些数据类型有所重复。即便如此&#xff0c;我希望…

MySQL数据同步ES的常用思路和方法

文章目录 1.同步双写2.异步双写3.定时任务4.数据订阅大家应该都在各种电商网站检索过商品,检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。 那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢? 1.同步双…

认识Spring(下)

作者&#xff1a;~小明学编程 文章专栏&#xff1a;Spring框架 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 Spring更加高效的读取和存储对象 存储bean对象 五大注解 关于五大类注解 对象的注入 属性注入 构造方法注入 Setter注入 三种注入方式的…

IPV6 资料收集

IPV6与IPV4区别 1、地址长度的区别&#xff1a;IPv4协议具有32位&#xff08;4字节&#xff09;地址长度&#xff1b;IPv6协议具有128位&#xff08;16字节&#xff09;地址长度。 2、地址的表示方法区别&#xff1a;IPv4地址是以小数表示的二进制数。 IPv6地址是以十六进制表…

4.1 读写不同数据源的数据

4.1 读写不同数据源的数据4.1.1 读写数据库数据1、数据库数据获取2、数据库数据存储4.1.2 读写文本文件1、文本文件读取2、文本文件存储4.1.3 读写Excel文件1、Excel文件读取2、Excel文件存储完整代码4.1.1 读写数据库数据 1、数据库数据获取 pandas提供了读取与存储关系型数…

为什么说网络安全行业是 IT 行业最后的红利?

一、为什么选择网络安全&#xff1f; 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护 2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来 3-5 年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏…

Android OKHttp源码解析

Https是Http协议加上下一层的SSL/TSL协议组成的&#xff0c;TSL是SSL的后继版本&#xff0c;差别很小&#xff0c;可以理解为一个东西。进行Https连接时&#xff0c;会先进行TSL的握手&#xff0c;完成证书认证操作&#xff0c;产生对称加密的公钥、加密套件等参数。之后就可以…

jenkins打包发布前端项目

1.配置前端nodejs打包环境 1.1安装nodejs插件 1.2配置jenkins nodejs环境 2.下载git插件(使用此插件配置通过gitlab标签拉取项目) 3.创建一个自由风格的发布项目 4.配置项目构建流程 4.1添加钉钉告警 4.2配置参数化构建 4.3配置源码管理为git拉取项目 4.4配置构建环境 4.5配置…