Python zlib库|在Python中zlib是什么?zlib是一个Python库,它支持zlib C库,这是压缩无损压缩算法的高级泛化。zlib库用于无损压缩,这意味着压缩和解压之间没有数据丢失)。 它还提供了跨不同平台的可移植性优势,并且不需要扩展数据。 这个库在安全性方面起着非常重要的作用。许多应用程序需要对任意数据(如字符串、文件或结构化内存内容)进行压缩和解压缩。 这个图书馆很适合用Gzip文件格式/工具,UNIX系统上最流行和最有用的压缩应用程序。 compression()方法zlib库帮助我们压缩()方法,该方法用于压缩数据字符串。下面是函数的语法。 参数- - - - - -
让我们来理解下面的例子。 的例子, 输出: 原始数据:欢迎使用JavaTpoint压缩数据:785ef348cdc9c95728cf2fca49010018ab043d 如果我们将值2更改为0,那么结果将如下所示。 压缩大数据流zlib库提供了comressobj ()管理大型数据流。该方法返回压缩对象。语法如下所示。 语法- - - - - - 参数- - - - - -
让我们来理解下面的例子 的例子, 输出: 压缩数据:f348cdc9c95728cf2fca490100 解释, 我们取了一个简单的字符串值,它不是一个大的数据流,它的目的是显示的工作compressobj ()函数。字符串“Welcome to JavaTpoint”已被压缩。通常,当数据流过大或无法装入内存时使用此方法。这种方法在更大的应用程序中扮演着重要的角色,在这种应用程序中,我们可以配置压缩,并可用于连续压缩数据的各个部分。 它在需要压缩的地方起着重要的作用。在…的帮助下compress.compress(数据)方法,则可以压缩和刷新数据块,而不必在内存中累积全部数据。 压缩文件我们将使用压缩()方法压缩文件。语法与前面的示例类似。 在下面的例子中,我们将压缩PNG图像“mountain.png”。 让我们来理解下面的例子。 的例子, 输出: 压缩:10% 在上面的例子中,我们使用了Z_BEST_COMPRESSION,这是该算法所能提供的最佳压缩级别。在下一行中,我们根据压缩数据长度与原始数据的比值计算压缩级别。文件压缩13%,这是如何压缩ASCII字符串或二进制图像数据。 保存压缩数据到文件我们还可以将压缩后的数据保存在文件中,以备将来使用。在下面的示例中,我们将一些压缩文本显示到一个文件中。 的例子, 当我们运行上面的程序时,它会压缩给定的字符串,并将压缩后的数据保存到名为“output.txt”的文件中。 减压解压也是应用程序的一个重要方面。zlib库提供了减压()方法。下面是它的语法。 语法: 参数- - - - - -
让我们来理解下面的例子。 的例子, 输出: 欢迎来到JavaTpoint 解压缩大数据流在解压大数据流时,由于数据的大小或来源,我们可能会面临内存管理问题。对于特定的任务,我们可能无法利用所有可用内存。所以,decompressobj ()允许我们将一个大的流划分为多个块,这些块可以分别解压。 语法如下所示。 语法- - - - - - 上述方法返回解压对象,该对象用于解压缩特定的数据。 让我们来理解下面的例子。 的例子, 输出: Data Before Decompress: Welcome to JavaTpoint Data After Decompress - #@$%%#@@#s Decompressed Data: Welcome to JavaTpoint 解压文件中的数据正如我们在前面的示例中所讨论的,我们可以轻松地解压文件中包含的数据。这个例子类似于前面的例子;从文件中获取数据,但在本例中,我们将使用减压()方法。当数据足够小,可以轻松放入内存时,这种方法非常有用。 让我们来理解下面的例子。 的例子, 解释, 我们已经阅读了包含“欢迎来到JavaTpoint”的hello.dat。但是,该文件包含一个小字符串,因此我们使用了decompress()而不是decompressobj ()函数。 结论当应用程序需要在安全级别上进行压缩时,Python zlib库非常有用。它有一堆出色的功能。我们已经讨论了zlib库的一些重要概念,尽管还有许多函数可用。compress()和decompress()方法用于小数据,而compressobj()和decompressobj()方法通过支持数据流的压缩/解压缩提供了更大的灵活性。
下一个话题
Python队列模块
|