pythonzlib
① 在python中一共有多少个标准库
Python 语言官方的参考手册钟,介绍了与 Python 一同发行的标准库。
文本处理服务
string--- 常见的字符串操作
re--- 正则表达式操作
difflib--- 计算差异的辅助工具
textwrap--- 文本自动换行与填充
unicodedata--- Unicode 数据库
stringprep--- 因特网字符串预备
readline--- GNU readline 接口
rlcompleter--- GNU readline 的补全函数
二进制数据服务
struct--- 将字节串解读为打包的二进制数据
codecs--- 编解码器注册和相关基类
数据类型
datetime--- 基本日期和时间类型
zoneinfo--- IANA 时区支持
calendar--- 日历相关函数
collections--- 容器数据类型
collections.abc--- 容器的抽象基类
heapq--- 堆队列算法
bisect--- 数组二分查找算法
array--- 高效的数值数组
weakref--- 弱引用
types--- 动态类型创建和内置类型名称
--- 浅层 (shallow) 和深层 (deep) 复制操作
pprint--- 数据美化输出
reprlib--- 另一种repr()实现
enum--- 对枚举的支持
graphlib--- 操作类似图的结构的功能
数字和数学模块
numbers--- 数字的抽象基类
math--- 数学函数
cmath--- 关于复数的数学函数
decimal--- 十进制定点和浮点运算
fractions--- 分数
random--- 生成伪随机数
statistics--- 数学统计函数
函数式编程模块
itertools--- 为高效循环而创建迭代器的函数
functools--- 高阶函数和可调用对象上的操作
operator--- 标准运算符替代函数
文件和目录访问
pathlib--- 面向对象的文件系统路径
os.path--- 常用路径操作
fileinput--- 迭代来自多个输入流的行
stat--- 解析stat()结果
filecmp--- 文件及目录的比较
tempfile--- 生成临时文件和目录
glob--- Unix 风格路径名模式扩展
fnmatch--- Unix 文件名模式匹配
linecache--- 随机读写文本行
shutil--- 高阶文件操作
数据持久化
pickle--- Python 对象序列化
reg--- 注册配合pickle模块使用的函数
shelve--- Python 对象持久化
marshal--- 内部 Python 对象序列化
dbm--- Unix "数据库" 接口
sqlite3--- SQLite 数据库 DB-API 2.0 接口模块
数据压缩和存档
zlib--- 与gzip兼容的压缩
gzip--- 对gzip格式的支持
bz2--- 对bzip2压缩算法的支持
lzma--- 用 LZMA 算法压缩
zipfile--- 使用ZIP存档
tarfile--- 读写tar归档文件
文件格式
csv--- CSV 文件读写
configparser--- 配置文件解析器
tomllib--- Parse TOML files
netrc--- netrc 文件处理
plistlib--- 生成与解析 Apple.plist文件
加密服务
hashlib--- 安全哈希与消息摘要
hmac--- 基于密钥的消息验证
secrets--- 生成管理密码的安全随机数
通用操作系统服务
os--- 多种操作系统接口
io--- 处理流的核心工具
time--- 时间的访问和转换
argparse--- 命令行选项、参数和子命令解析器
getopt--- C 风格的命令行选项解析器
logging--- Python 的日志记录工具
logging.config--- 日志记录配置
logging.handlers--- 日志处理程序
getpass--- 便携式密码输入工具
curses--- 终端字符单元显示的处理
curses.textpad--- 用于 curses 程序的文本输入控件
curses.ascii--- 用于 ASCII 字符的工具
curses.panel--- curses 的面板栈扩展
platform--- 获取底层平台的标识数据
errno--- 标准 errno 系统符号
ctypes--- Python 的外部函数库
并发执行
threading--- 基于线程的并行
multiprocessing--- 基于进程的并行
multiprocessing.shared_memory--- Shared memory for direct access across processes
concurrent包
concurrent.futures--- 启动并行任务
subprocess--- 子进程管理
sched--- 事件调度器
queue--- 一个同步的队列类
contextvars--- 上下文变量
_thread--- 底层多线程 API
网络和进程间通信
asyncio--- 异步 I/O
socket--- 底层网络接口
ssl--- 套接字对象的 TLS/SSL 包装器
select--- 等待 I/O 完成
selectors--- 高级 I/O 复用库
signal--- 设置异步事件处理程序
mmap--- 内存映射文件支持
互联网数据处理
email--- 电子邮件与 MIME 处理包
json--- JSON 编码和解码器
mailbox--- 操作多种格式的邮箱
mimetypes--- 映射文件名到 MIME 类型
base64--- Base16, Base32, Base64, Base85 数据编码
binascii--- 二进制和 ASCII 码互转
quopri--- 编码与解码经过 MIME 转码的可打印数据
结构化标记处理工具
html--- 超文本标记语言支持
html.parser--- 简单的 HTML 和 XHTML 解析器
html.entities--- HTML 一般实体的定义
XML处理模块
xml.etree.ElementTree--- ElementTree XML API
xml.dom--- 文档对象模型 API
xml.dom.minidom--- 最小化的 DOM 实现
xml.dom.pulldom--- 支持构建部分 DOM 树
xml.sax--- 支持 SAX2 解析器
xml.sax.handler--- SAX 处理句柄的基类
xml.sax.saxutils--- SAX 工具集
xml.sax.xmlreader--- 用于 XML 解析器的接口
xml.parsers.expat--- 使用 Expat 的快速 XML 解析
互联网协议和支持
webbrowser--- 方便的 Web 浏览器控制工具
wsgiref--- WSGI 工具和参考实现
urllib--- URL 处理模块
urllib.request--- 用于打开 URL 的可扩展库
urllib.response--- urllib 使用的 Response 类
urllib.parse用于解析 URL
urllib.error--- urllib.request 引发的异常类
urllib.robotparser--- robots.txt 语法分析程序
http--- HTTP 模块
http.client--- HTTP 协议客户端
ftplib--- FTP 协议客户端
poplib--- POP3 协议客户端
imaplib--- IMAP4 协议客户端
smtplib--- SMTP 协议客户端
uuid---RFC 4122定义的UUID对象
socketserver--- 用于网络服务器的框架
http.server--- HTTP 服务器
http.cookies--- HTTP状态管理
http.cookiejar—— HTTP 客户端的 Cookie 处理
xmlrpc--- XMLRPC 服务端与客户端模块
xmlrpc.client--- XML-RPC 客户端访问
xmlrpc.server--- 基本 XML-RPC 服务器
ipaddress--- IPv4/IPv6 操作库
多媒体服务
wave--- 读写WAV格式文件
colorsys--- 颜色系统间的转换
国际化
gettext--- 多语种国际化服务
locale--- 国际化服务
程序框架
turtle--- 海龟绘图
cmd--- 支持面向行的命令解释器
shlex—— 简单的词法分析
Tk图形用户界面(GUI)
tkinter—— Tcl/Tk 的 Python 接口
tkinter.colorchooser--- 颜色选择对话框
tkinter.font--- Tkinter 字体封装
Tkinter 对话框
tkinter.messagebox--- Tkinter 消息提示
tkinter.scrolledtext--- 滚动文字控件
tkinter.dnd--- 拖放操作支持
tkinter.ttk--- Tk 风格的控件
tkinter.tix--- TK扩展包
② CentOS6.5安装python的distruibute显示缺少zlib模块,但是我已经装了,怎么解决
是不是要32位的库
yum install zlib.i686 -y
yum install zlib-devel.i686 -y
③ 请问…python编程中,怎么解密base64编码和zlib编码
import base64,zlib
’‘’解密base64编码‘’‘
a=base64.b64decode('解码内容')
’‘’解密zlib编码‘’‘
b=zlib.decompress('解码内容‘)
④ python怎么知道一个字符串的编码方式
字符串的编码,有很多种如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64
python 对编码的处理有两个方法,decode()和 encode()方法
a = '你好'b = 'python'print a.decode('utf-8').encode('gbk')##decode方法把字符串转换为unicode对象,然后通过encode方法转换为指定的编码字符串对象print b.decode('utf-8')##decode方法把字符串转换为unicode对象所以要让python(或者说机器)来识别字符串的编码,是一件很困难的事。编码就是汉字和整数之间的对应,同一个整数,可以在不同的编码中,都有对应的汉字。比如下面的例子,比特流'\xe6\xb0\xb4\xe5\xa3\xb6'在四种编码中都有对应的汉字,但只有在utf-8编码下,它对应的汉字才有意义。我们可以一眼看出这点,可是要让计算机做到这点,就很难了。
>>> s = '水壶'>>> s18: '\xe6\xb0\xb4\xe5\xa3\xb6'>>> print unicode(s, 'big5')瘗游ㄥ>>> print unicode(s, 'gbk')姘村6>>> print unicode(s, 'gb2312')姘村6>>> print unicode(s, 'utf-8')水壶
⑤ python中如何对文件进行 zlib压缩
文件读取以后也是一个大的字符串,整个一起压缩就可以了。
示例:
fin=open('in.txt','r')
fout=open('out.txt','w')
str=fin.read()
//compressstr
fout.write(compressed_str)
fout.close()
fin.close()
⑥ python怎样压缩和解压缩ZIP文件
1、说明
python使用zipfile模块来压缩和解压zip文件
2、代码
importos,os.path
importzipfile
defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))
zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()
defunzip_file(zipfilename,unziptodir):
ifnotos.path.exists(unziptodir):os.mkdir(unziptodir)
zfobj=zipfile.ZipFile(zipfilename)
fornameinzfobj.namelist():
name=name.replace('\','/')
ifname.endswith('/'):
os.mkdir(os.path.join(unziptodir,name))
else:
ext_filename=os.path.join(unziptodir,name)
ext_dir=os.path.dirname(ext_filename)
ifnotos.path.exists(ext_dir):os.mkdir(ext_dir)
outfile=open(ext_filename,'wb')
outfile.write(zfobj.read(name))
outfile.close()
if__name__=='__main__':
zip_dir(r'd:/python/test',r'd:/python/test.zip')
unzip_file(r'd:/python/test.zip',r'd:/python/test2')
执行结果
顺利生成相应文件
3、备注
zip文件格式是通用的文档压缩标准,在zipfile模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
ZipFile还提供了如下常用的方法和属性:
ZipFile.getinfo(name):
获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。
ZipFile.infolist()
获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。
ZipFile.namelist()
获取zip文档内所有文件的名称列表。
ZipFile.extract(member[, path[, pwd]])
⑦ Python交叉编译失败怎么回事
1、在源码 python2.7.3/Moles/Setup.dist 搜索zlib ,打开该模块
2、继续下去,又提示缺少zlib.h,也就是我们的交叉编译库中缺少zlib头文件和库文件
3、在http://www.zlib.net/ 下载zlib源码,交叉编译zlib
由于zlib 编译不支持--host选项,所以在zlib目录下执行如下命令
~/zlib1.2.8/# mkdir _install
~/zlib1.2.8/#CC=arm-xxxxx(你的交叉编译器) ./configure --host=./_install(最好是绝对路径,我偷懒了,这个是安装目录)
~/zlib1.2.8/# make && make install
你会在_install目录下发现include 和 lib 目录
下一步,我们回到第1步
为了防止交叉编译链污染,我们在python目录下创建otherinclude otherlib
把zlib下的include和lib下的内容分别按照对应名字拷贝过来
4.在Moles/setup 找到我们前面setup.dist那句话,添加 -L../otherlib -I../otherinclude 这个应该都懂的
直接make
5,如果你之前make distclean过了,没有setup文件,请修改setup.dist.文件,重新configure!
⑧ centos上同时装了python2和python3,现在python3里没有zlib包,想给python3打上这个包,应该怎么操作
下载ZLIB包的源码。然后解开后,使用python3 setup.py install
这样就可以安装到PYTHON3的目录里了。