非常教程

Python参考手册

数据压缩 | Data Compression

gzip

源代码: Lib / gzip.py

这个模块提供了一个简单的界面来压缩和解压缩文件,就像GNU程序gzipgunzip一样。

数据压缩由zlib模块提供。

gzip模块提供了GzipFile在Python的文件对象之后建模的类。本GzipFile类读取和写入gzip的 -format文件,自动压缩或解压缩数据,使得它看起来像一个普通的文件对象。

请注意,该模块不支持gzipgunzip程序可以解压缩的其他文件格式,例如压缩打包产生的文件格式。

该模块定义了以下项目:

class gzip.GzipFile([filename[, mode[, compresslevel[, fileobj[, mtime]]]]])

GzipFile该类的构造函数,它模拟文件对象的大部分方法,但readinto()truncate()方法除外。至少fileobjfilename中的一个必须被赋予一个不平凡的值。

新的类实例基于fileobj,它可以是常规文件,StringIO对象或模拟文件的任何其他对象。它默认为None,在这种情况下打开文件名以提供文件对象。

fileobj不是时Nonefilename参数仅用于包含在gzip文件头中,其中可能包含未压缩文件的原始文件名。如果可辨别,它默认为fileobj的文件名; 否则,它默认为空字符串,在这种情况下,原始文件名不包含在标题中。

模式参数可以是任意的'r''rb''a''ab''w',或者'wb',根据文件是否被读取或写入。如果可辨别,缺省值是fileobj的模式; 否则,默认是'rb'。如果没有给出,'b'标志将被添加到模式以确保文件以二进制模式打开以实现跨平台可移植性。

所述compresslevel参数是从一个整数0,以9控制压缩的水平; 1是最快的并且产生最小的压缩,并且9是最慢的并且产生最大的压缩。0没有压缩。默认是9

修改时间参数是压缩时将被写入到该流一个可选的数字时间戳记。所有gzip压缩流都需要包含一个时间戳。如果省略或None使用当前时间。该模块在解压缩时忽略时间戳; 然而,一些程序,比如gunzip,就是利用它。时间戳的格式与返回的对象time.time()st_mtime属性的返回值和格式相同os.stat()

调用GzipFile对象的close()方法不会关闭fileobj,因为您可能希望在压缩数据之后附加更多的材质。这还允许您将StringIO打开的对象作为fileobj传递,并使用StringIO对象的getvalue()方法检索得到的内存缓冲区。

GzipFile支持迭代和with声明。

在版本2.7中进行了更改:with添加了对语句的支持。

在版本2.7中进行了更改:添加了对零填充文件的支持。

2.7版本中的新功能:mtime参数。

gzip.open(filename[, mode[, compresslevel]])

这是一个简写GzipFile(filename, mode, compresslevel)。该文件名参数是必需的; 模式默认为'rb'并将默认压缩级别设置为9

1.使用示例

如何读取压缩文件的示例:

import gzip
with gzip.open('file.txt.gz', 'rb') as f:
    file_content = f.read()

如何创建压缩的GZIP文件的示例:

import gzip
content = "Lots of content here"
with gzip.open('file.txt.gz', 'wb') as f:
    f.write(content)

如何GZIP压缩现有文件的示例:

import gzip
import shutil
with open('file.txt', 'rb') as f_in, gzip.open('file.txt.gz', 'wb') as f_out:
    shutil.copyfileobj(f_in, f_out)

数据压缩 | Data Compression相关

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法