全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

Python3标准库/华章程序员书库

  • 定价: ¥199
  • ISBN:9787111608950
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:机械工业
  • 页数:1085页
  • 作者:(美)道格·赫尔曼...
  • 立即节省:
  • 2018-10-01 第1版
  • 2018-10-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    道格·赫尔曼著的《Python3标准库/华章程序员书库》由资深Python专家亲自执笔,Python语言的核心开发人员鼎力推荐。
    对程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有Python程序员都必备的工具书!全书以案例驱动的方式讲解了标准库中数百个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的示例比一份手册文档更有帮助),为Python程序员熟练掌握和使用这些模块提供了绝佳指导。
    本书共19章,系统而全面地对Python 3标准库中的数百个模块进行了生动的讲解。这些模块主要包括:文本处理工具模块,与数据结构和算法相关的模块,管理日期和时间值的模块,用于数学计算的模块,管理文件系统的模块,用于数据存储与交换的模块,用于数据压缩与归档的模块,用于加密的模块,与进程和线程相关的模块,与网络通信、Internet和Email相关的模块,应用构建模块,支持处理多种自然语言和文化设置的模块,开发工具模块,与运行时特性相关的模块等。

作者简介

    道格·赫尔曼(Doug Hellmann),目前任职于Red Hat,主要负责开发0penStack项目。他是0penstack技术委员会的委员,对这个项目的很多方面做出了突出贡献。他从Python l.4版本就开始投入Python编程,曾在多种UNIX和非UNIX平台上参与项目开发,涉及领域包括地图、医疗新闻播报、金融和数据中心目动化。Doug也是Python software Foundation的成员,并于2010-2012年担任其信息交流主管。在为《Python Magazine》做了一年普通专栏作家后,他于2008~2009年担任该杂志的主编。2007~2011年间,Doug在他的博客上发表了颇受关注的“Python Module of the Week”系列,以及本书的上一个版本(面向Python 2),即《Pytho标准库》(Addison-Wesley,2011)。

目录

译者序
前言
第1章  文本
  1.1  string:文本常量和模板
    1.1.1  函数
    1.1.2  模板
    1.1.3  高级模板
    1.1.4  Formatter
    1.1.5  常量
  1.2  textwrap:格式化文本段落
    1.2.1  示例数据
    1.2.2  填充段落
    1.2.3  去除现有的缩进
    1.2.4  结合dedent和f?ill
    1.2.5  缩进块
    1.2.6  悬挂缩进
    1.2.7  截断长文本
  1.3  re:正则表达式
    1.3.1  查找文本中的模式
    1.3.2  编译表达式
    1.3.3  多重匹配
    1.3.4  模式语法
    1.3.5  限制搜索
    1.3.6  用组解析匹配
    1.3.7  搜索选项
    1.3.8  前向或后向
    1.3.9  自引用表达式
    1.3.10  用模式修改字符串
    1.3.11  利用模式拆分
  1.4  diff?lib:比较序列
    1.4.1  比较文本体
    1.4.2  无用数据
    1.4.3  比较任意类型
第2章  数据结构
  2.1  enum:枚举类型
    2.1.1  创建枚举
    2.1.2  迭代
    2.1.3  比较Enum
    2.1.4  唯一枚举值
    2.1.5  通过编程创建枚举
    2.1.6  非整数成员值
  2.2  collections:容器数据类型
    2.2.1  ChainMap:搜索多个字典
    2.2.2  Counter:统计可散列的对象
    2.2.3  defaultdict:缺少的键返回一个默认值
    2.2.4  deque:双端队列
    2.2.5  namedtuple:带命名字段的元组子类
    2.2.6  OrderedDict:记住向字典中增加键的顺序
    2.2.7  collections.abc:容器的抽象基类
  2.3  数组:固定类型数据序列
    2.3.1  初始化
    2.3.2  处理数组
    2.3.3  数组和文件
    2.3.4  候选字节顺序
  2.4  heapq:堆排序算法
    2.4.1  示例数据
    2.4.2  创建堆
    2.4.3  访问堆的内容
    2.4.4  堆的数据极值
    2.4.5  高效合并有序序列
  2.5  bisect:维护有序列表
    2.5.1  有序插入
    2.5.2  处理重复
  2.6  queue:线程安全的FIFO实现
    2.6.1  基本FIFO队列
    2.6.2  LIFO队列
    2.6.3  优先队列
    2.6.4  构建一个多线程播客客户程序
  2.7  struct:二进制数据结构
    2.7.1  函数与Struct类
    2.7.2  打包和解包
    2.7.3  字节序
    2.7.4  缓冲区
  2.8  weakref:对象的非永久引用
    2.8.1  引用
    2.8.2  引用回调
    2.8.3  最终化对象
    2.8.4  代理
    2.8.5  缓存对象
  2.9  copy:复制对象
    2.9.1  浅副本
    2.9.2  深副本
    2.9.3  定制复制行为
    2.9.4  深副本中的递归
  2.10  pprint:美观打印数据结构
    2.10.1  打印
    2.10.2  格式化
    2.10.3  任意类
    2.10.4  递归
    2.10.5  限制嵌套输出
    2.10.6  控制输出宽度
第3章  算法
  3.1  functools:管理函数的工具
    3.1.1  修饰符
    3.1.2  比较
    3.1.3  缓存
    3.1.4  缩减数据集
    3.1.5  泛型函数
  3.2  itertools:迭代器函数
    3.2.1  合并和分解迭代器
    3.2.2  转换输入
    3.2.3  生成新值
    3.2.4  过滤
    3.2.5  数据分组
    3.2.6  合并输入
  3.3  operator:内置操作符的函数接口
    3.3.1  逻辑操作
    3.3.2  比较操作符
    3.3.3  算术操作符
    3.3.4  序列操作符
    3.3.5  原地操作符
    3.3.6  属性和元素“获取方法”
    3.3.7  结合操作符和定制类
  3.4  contextlib:上下文管理器工具
    3.4.1  上下文管理器API
    3.4.2  上下文管理器作为函数修饰符
    3.4.3  从生成器到上下文管理器
    3.4.4  关闭打开的句柄
    3.4.5  忽略异常
    3.4.6  重定向输出流
    3.4.7  动态上下文管理器栈
第4章  日期和时间
  4.1  time:时钟时间
    4.1.1  比较时钟
    4.1.2  墙上时钟时间
    4.1.3  单调时钟
    4.1.4  处理器时钟时间
    4.1.5  性能计数器
    4.1.6  时间组成
    4.1.7  处理时区
    4.1.8  解析和格式化时间
  4.2  datetime:日期和时间值管理
    4.2.1  时间
    4.2.2  日期
    4.2.3  timedelta
    4.2.4  日期算术运算
    4.2.5  比较值
    4.2.6  结合日期和时间
    4.2.7  格式化和解析
    4.2.8  时区
  4.3  calendar:处理日期
    4.3.1  格式化示例
    4.3.2  本地化环境
    4.3.3  计算日期
第5章  数学运算
  5.1  decimal:定点数和浮点数的数学运算
    5.1.1  Decimal
    5.1.2  格式化
    5.1.3  算术运算
    5.1.4  特殊值
    5.1.5  上下文
  5.2  fractions:有理数
    5.2.1  创建Fraction实例
    5.2.2  算术运算
    5.2.3  近似值
  5.3  random:伪随机数生成器
    5.3.1  生成随机数
    5.3.2  指定种子
    5.3.3  保存状态
    5.3.4  随机整数
    5.3.5  选择随机元素
    5.3.6  排列
    5.3.7  采样
    5.3.8  多个并发生成器
    5.3.9  SystemRandom
    5.3.10  非均匀分布
  5.4  math:数学函数
    5.4.1  特殊常量
    5.4.2  测试异常值
    5.4.3  比较
    5.4.4  将浮点值转换为整数
    5.4.5  浮点值的其他表示
    5.4.6  正号和负号
    5.4.7  常用计算
    5.4.8  指数和对数
    5.4.9  角
    5.4.10  三角函数
    5.4.11  双曲函数
    5.4.12  特殊函数
  5.5  statistics:统计计算
    5.5.1  平均值
    5.5.2  方差
第6章  文件系统
  6.1  os.path:平台独立的文件名管理
    6.1.1  解析路径
    6.1.2  建立路径
    6.1.3  规范化路径
    6.1.4  文件时间
    6.1.5  测试文件
  6.2  pathlib:文件系统路径作为对象
    6.2.1  路径表示
    6.2.2  建立路径
    6.2.3  解析路径
    6.2.4  创建具体路径
    6.2.5  目录内容
    6.2.6  读写文件
    6.2.7  管理目录和符号链接
    6.2.8  文件类型
    6.2.9  文件属性
    6.2.10  权限
    6.2.11  删除
  6.3  glob:文件名模式匹配
    6.3.1  示例数据
    6.3.2  通配符
    6.3.3  单字符通配符
    6.3.4  字符区间
    6.3.5  转义元字符
  6.4  fnmatch:UNIX式glob模式匹配
    6.4.1  简单匹配
    6.4.2  过滤
    6.4.3  转换模式
  6.5  linecache:高效读取文本文件
    6.5.1  测试数据
    6.5.2  读取特定行
    6.5.3  处理空行
    6.5.4  错误处理
    6.5.5  读取Python源文件
  6.6  tempf?ile:临时文件系统对象
    6.6.1  临时文件
    6.6.2  命名文件
    6.6.3  假脱机文件
    6.6.4  临时目录
    6.6.5  预测名
    6.6.6  临时文件位置
  6.7  shutil:高层文件操作
    6.7.1  复制文件
    6.7.2  复制文件元数据
    6.7.3  处理目录树
    6.7.4  查找文件
    6.7.5  归档
    6.7.6  文件系统空间
  6.8  f?ilecmp:比较文件
    6.8.1  示例数据
    6.8.2  比较文件
    6.8.3  比较目录
    6.8.4  在程序中使用差异
  6.9  mmap:内存映射文件
    6.9.1  读文件
    6.9.2  写文件
    6.9.3  正则表达式
  6.10  codecs:字符串编码和解码
    6.10.1  Unicode入门
    6.10.2  处理文件
    6.10.3  字节序
    6.10.4  错误处理
    6.10.5  编码转换
    6.10.6  非Unicode编码
    6.10.7  增量编码
    6.10.8  Unicode数据和网络通信
    6.10.9  定义定制编码
  6.11  io:文本、十进制和原始流I/O工具
    6.11.1  内存中的流
    6.11.2  为文本数据包装字节流
第7章  数据持久存储与交换
  7.1  pickle:对象串行化
    7.1.1  编码和解码字符串中的数据
    7.1.2  处理流
    7.1.3  重构对象的问题
    7.1.4  不可腌制的对象
    7.1.5  循环引用
  7.2  shelve:对象的持久存储
    7.2.1  创建一个新shelf
    7.2.2  写回
    7.2.3  特定shelf类型
  7.3  dbm:UNIX键-值数据库
    7.3.1  数据库类型
    7.3.2  创建一个新数据库
    7.3.3  打开一个现有数据库
    7.3.4  错误情况
  7.4  sqlite3:嵌入式关系数据库
    7.4.1  创建数据库
    7.4.2  获取数据
    7.4.3  查询元数据
    7.4.4  行对象
    7.4.5  在查询中使用变量
    7.4.6  批量加载
    7.4.7  定义新的列类型
    7.4.8  确定列类型
    7.4.9  事务
    7.4.10  隔离级别
    7.4.11  内存中的数据库
    7.4.12  导出数据库内容
    7.4.13  在SQL中使用Python函数
    7.4.14  带正则表达式的查询
    7.4.15  定制聚集
    7.4.16  线程和连接共享
    7.4.17  限制对数据的访问
  7.5  xml.etree.ElementTree:XML操纵API
    7.5.1  解析XML文档
    7.5.2  遍历解析树
    7.5.3  查找文档中的节点
    7.5.4  解析节点属性
    7.5.5  解析时监视事件
    7.5.6  创建一个定制树构造器
    7.5.7  解析串
    7.5.8  用元素节点构造文档
    7.5.9  美观打印XML
    7.5.10  设置元素属性
    7.5.11  由节点列表构造树
    7.5.12  将XML串行化至一个流
  7.6  csv:逗号分隔值文件
    7.6.1  读文件
    7.6.2  写文件
    7.6.3  方言
    7.6.4  使用字段名
第8章  数据压缩与归档
  8.1  zlib:GNU zlib压缩
    8.1.1  处理内存中的数据
    8.1.2  增量压缩与解压缩
    8.1.3  混合内容流
    8.1.4  校验和
    8.1.5  压缩网络数据
  8.2  gzip:读写GNU zip文件
    8.2.1  写压缩文件
    8.2.2  读压缩数据
    8.2.3  处理流
  8.3  bz2:bzip2压缩
    8.3.1  内存中的一次性操作
    8.3.2  增量压缩和解压缩
    8.3.3  混合内容流
    8.3.4  写压缩文件
    8.3.5  读压缩文件
    8.3.6  读写Unicode数据
    8.3.7  压缩网络数据
  8.4  tarf?ile:tar归档访问
    8.4.1  测试tar文件
    8.4.2  从归档读取元数据
    8.4.3  从归档抽取文件
    8.4.4  创建新归档
    8.4.5  使用候选归档成员名
    8.4.6  从非文件源写数据
    8.4.7  追加到归档
    8.4.8  处理压缩归档
  8.5  zipf?ile:ZIP归档访问
    8.5.1  测试ZIP文件
    8.5.2  从归档读取元数据
    8.5.3  从归档抽取归档文件
    8.5.4  创建新归档
    8.5.5  使用候选归档成员名
    8.5.6  从非文件源写数据
    8.5.7  利用ZipInfo实例写数据
    8.5.8  追加到文件
    8.5.9  Python ZIP归档
    8.5.10  限制
第9章  加密
  9.1  hashlib:密码散列
    9.1.1  散列算法
    9.1.2  示例数据
    9.1.3  MD5示例
    9.1.4  SHA1示例
    9.1.5  按名创建散列
    9.1.6  增量更新
  9.2  hmac:密码消息签名与验证
    9.2.1  消息签名
    9.2.2  候选摘要类型
    9.2.3  二进制摘要
    9.2.4  消息签名的应用
第10章  使用进程、线程和协程提供并发性
  10.1  subprocess:创建附加进程
    10.1.1  运行外部命令
    10.1.2  直接处理管道
    10.1.3  连接管道段
    10.1.4  与其他命令交互
    10.1.5  进程间传递信号
  10.2  signal:异步系统事件
    10.2.1  接收信号
    10.2.2  获取已注册的处理器
    10.2.3  发送信号
    10.2.4  闹铃
    10.2.5  忽略信号
    10.2.6  信号和线程
  10.3  threading:进程中管理并发操作
    10.3.1  Thread对象
    10.3.2  确定当前线程
    10.3.3  守护与非守护线程
    10.3.4  枚举所有线程
    10.3.5  派生线程
    10.3.6  定时器线程
    10.3.7  线程间传送信号
    10.3.8  控制资源访问
    10.3.9  同步线程
    10.3.10  限制资源的并发访问
    10.3.11  线程特定的数据
  10.4  multiprocessing:像线程一样管理进程
    10.4.1  multiprocessing基础
    10.4.2  可导入的目标函数
    10.4.3  确定当前进程
    10.4.4  守护进程
    10.4.5  等待进程
    10.4.6  终止进程
    10.4.7  进程退出状态
    10.4.8  日志
    10.4.9  派生进程
    10.4.10  向进程传递消息
    10.4.11  进程间信号传输
    10.4.12  控制资源访问
    10.4.13  同步操作
    10.4.14  控制资源的并发访问
    10.4.15  管理共享状态
    10.4.16  共享命名空间
    10.4.17  进程池
    10.4.18  实现MapReduce
  10.5  asyncio:异步I/O、事件循环和并发工具
    10.5.1  异步并发概念
    10.5.2  利用协程合作完成多任务
    10.5.3  调度常规函数调用
    10.5.4  异步地生成结果
    10.5.5  并发地执行任务
    10.5.6  组合协程和控制结构
    10.5.7  同步原语
    10.5.8  提供协议类抽象的异步I/O
    10.5.9  使用协程和流的异步I/O
    10.5.10  使用SSL
    10.5.11  与域名服务交互
    10.5.12  使用子进程
    10.5.13  接收UNIX信号
    10.5.14  结合使用协程、线程与进程
    10.5.15  用asyncio调试
  10.6  concurrent.futures:管理并发任务池
    10.6.1  利用基本线程池使用map()
    10.6.2  调度单个任务
    10.6.3  按任意顺序等待任务
    10.6.4  Future回调
    10.6.5  撤销任务
    10.6.6  任务中的异常
    10.6.7  上下文管理器
    10.6.8  进程池
第11章  网络通信
  11.1  ipaddress:Internet地址
    11.1.1  地址
    11.1.2  网络
    11.1.3  接口
  11.2  socket:网络通信
    11.2.1  寻址、协议簇和套接字类型
    11.2.2  TCP/IP客户和服务器
    11.2.3  用户数据报客户和服务器
    11.2.4  UNIX域套接字
    11.2.5  组播
    11.2.6  发送二进制数据
    11.2.7  非阻塞通信和超时
  11.3  selectors:I/O多路复用抽象
    11.3.1  操作模型
    11.3.2  回送服务器
    11.3.3  回送客户
    11.3.4  服务器和客户
  11.4  select:高效等待I/O
    11.4.1  使用select()
    11.4.2  带超时的非阻塞I/O
    11.4.3  使用poll()
    11.4.4  平台特定的选项
  11.5  socketserver:创建网络服务器
    11.5.1  服务器类型
    11.5.2  服务器对象
    11.5.3  实现服务器
    11.5.4  请求处理器
    11.5.5  回送示例
    11.5.6  线程和进程
第12章  互联网
  12.1  urllib.parse:分解URL
    12.1.1  解析
    12.1.2  反解析
    12.1.3  连接
    12.1.4  解码查询参数
  12.2  urllib.request:网络资源访问
    12.2.1  HTTP GET
    12.2.2  编码参数
    12.2.3  HTTP POST
    12.2.4  添加发出首部
    12.2.5  从请求提交表单数据
    12.2.6  上传文件
    12.2.7  创建定制协议处理器
  12.3  urllib.robotparser: Internet蜘蛛访问控制
    12.3.1  robots.txt
    12.3.2  测试访问权限
    12.3.3  长寿命蜘蛛
  12.4  base64:用ASCII编码二进制数据
    12.4.1  Base64编码
    12.4.2  Base64解码
    12.4.3  URL安全的变种
    12.4.4  其他编码
  12.5  http.server:实现Web服务器的基类
    12.5.1  HTTP GET
    12.5.2  HTTP POST
    12.5.3  线程和进程
    12.5.4  处理错误
    12.5.5  设置首部
    12.5.6  命令行用法
  12.6  http.cookies:HTTP cookie
    12.6.1  创建和设置cookie
    12.6.2  Morsel
    12.6.3  编码的值
    12.6.4  接收和解析Cookie首部
    12.6.5  候选输出格式
  12.7  webbrowser:显示Web页面
    12.7.1  简单示例
    12.7.2  窗口与标签页
    12.7.3  使用特定浏览器
    12.7.4  BROWSER变量
    12.7.5  命令行接口
  12.8  uuid:全局唯一标识符
    12.8.1  UUID 1:IEEE 802 MAC地址
    12.8.2  UUID 3和5:基于名字的值
    12.8.3  UUID 4:随机值
    12.8.4  处理UUID对象
  12.9  json:JavaScript对象记法
    12.9.1  编码和解码简单数据类型
    12.9.2  人类可读和紧凑输出
    12.9.3  编码字典
    12.9.4  处理定制类型
    12.9.5  编码器和解码器类
    12.9.6  处理流和文件
    12.9.7  混合数据流
    12.9.8  命令行上处理JSON
  12.10  xmlrpc.client:XML-RPC的客户库
    12.10.1  连接服务器
    12.10.2  数据类型
    12.10.3  传递对象
    12.10.4  二进制数据
    12.10.5  异常处理
    12.10.6  将调用组合在一个消息中
  12.11  xmlrpc.server:一个XML-RPC服务器
    12.11.1  一个简单的服务器
    12.11.2  候选API名
    12.11.3  加点的API名
    12.11.4  任意API名
    12.11.5  公布对象的方法
    12.11.6  分派调用
    12.11.7  自省API
第13章  email
  13.1  smtplib:简单邮件传输协议客户
    13.1.1  发送email消息
    13.1.2  认证和加密
    13.1.3  验证email地址
  13.2  smtpd:示例邮件服务器
    13.2.1  邮件服务器基类
    13.2.2  调试服务器
    13.2.3  代理服务器
  13.3  mailbox:管理email归档
    13.3.1  mbox
    13.3.2  Maildir
    13.3.3  消息标志
    13.3.4  其他格式
  13.4  imaplib:IMAP4客户库
    13.4.1  变种
    13.4.2  连接服务器
    13.4.3  示例配置
    13.4.4  列出邮箱
    13.4.5  邮箱状态
    13.4.6  选择邮箱
    13.4.7  搜索消息
    13.4.8  搜索规则
    13.4.9  获取消息
    13.4.10  完整消息
    13.4.11  上传消息
    13.4.12  移动和复制消息
    13.4.13  删除消息
第14章  应用构建模块
  14.1  argparse:命令行选项和参数解析
    14.1.1  建立解析器
    14.1.2  定义参数
    14.1.3  解析命令行
    14.1.4  简单示例
    14.1.5  帮助输出
    14.1.6  解析器组织
    14.1.7  高级参数处理
  14.2  getopt:命令行选项解析
    14.2.1  函数参数
    14.2.2  短格式选项
    14.2.3  长格式选项
    14.2.4  一个完整的例子
    14.2.5  缩写长格式选项
    14.2.6  GNU式选项解析
    14.2.7  结束参数处理
  14.3  readline:GNU readline库
    14.3.1  配置readline
    14.3.2  完成文本
    14.3.3  访问完成缓冲区
    14.3.4  输入历史
    14.3.5  hook
  14.4  getpass:安全密码提示
    14.4.1  示例
    14.4.2  无终端使用getpass
  14.5  cmd:面向行的命令处理器
    14.5.1  处理命令
    14.5.2  命令参数
    14.5.3  现场帮助
    14.5.4  自动完成
    14.5.5  覆盖基类方法
    14.5.6  通过属性配置Cmd
    14.5.7  运行shell命令
    14.5.8  候选输入
    14.5.9  sys.argv的命令
  14.6  shlex:解析shell类语法
    14.6.1  解析加引号的字符串
    14.6.2  为shell建立安全的字符串
    14.6.3  嵌入注释
    14.6.4  将字符串分解为token
    14.6.5  包含其他token源
    14.6.6  控制解析器
    14.6.7  错误处理
    14.6.8  POSIX与非POSIX解析
  14.7  conf?igparser:处理配置文件
    14.7.1  配置文件格式
    14.7.2  读取配置文件
    14.7.3  访问配置设置
    14.7.4  修改设置
    14.7.5  保存配置文件
    14.7.6  选项搜索路径
    14.7.7  用拼接合并值
  14.8  logging:报告状态、错误和信息消息
    14.8.1  日志系统的组成
    14.8.2  应用与库中的日志记录
    14.8.3  记入文件
    14.8.4  旋转日志文件
    14.8.5  详细级别
    14.8.6  命名日志记录器实例
    14.8.7  日志树
    14.8.8  与warnings模块集成
  14.9  f?ileinput:命令行过滤器框架
    14.9.1  将m3u文件转换为RSS
    14.9.2  进度元数据
    14.9.3  原地过滤
  14.10  atexit:程序关闭回调
    14.10.1  注册退出回调
    14.10.2  修饰符语法
    14.10.3  撤销回调
    14.10.4  什么情况下不调用atexit函数
    14.10.5  处理异常
  14.11  sched:定时事件调度器
    14.11.1  有延迟地运行事件
    14.11.2  重叠事件
    14.11.3  事件优先级
    14.11.4  取消事件
第15章  国际化和本地化
  15.1  gettext:消息编目
    15.1.1  转换工作流概述
    15.1.2  由源代码创建消息编目
    15.1.3  运行时查找消息编目
    15.1.4  复数值
    15.1.5  应用与模块本地化
    15.1.6  切换转换
  15.2  locale:文化本地化API
    15.2.1  探查当前本地化环境
    15.2.2  货币
    15.2.3  格式化数字
    15.2.4  解析数字
    15.2.5  日期和时间
第16章  开发工具
  16.1  pydoc:模块的联机帮助
    16.1.1  纯文本帮助
    16.1.2  HTML帮助
    16.1.3  交互式帮助
  16.2  doctest:通过文档完成测试
    16.2.1  起步
    16.2.2  处理不可预测的输出
    16.2.3  traceback
    16.2.4  避开空白符
    16.2.5  测试位置
    16.2.6  外部文档
    16.2.7  运行测试
    16.2.8  测试上下文
  16.3  unittest:自动测试框架
    16.3.1  基本测试结构
    16.3.2  运行测试
    16.3.3  测试结果
    16.3.4  断言真值
    16.3.5  测试相等性
    16.3.6  几乎相等?
    16.3.7  容器
    16.3.8  测试异常
    16.3.9  测试固件
    16.3.10  用不同输入重复测试
    16.3.11  跳过测试
    16.3.12  忽略失败测试
  16.4  trace:执行程序流
    16.4.1  示例程序
    16.4.2  跟踪执行
    16.4.3  代码覆盖
    16.4.4  调用关系
    16.4.5  编程接口
    16.4.6  保存结果数据
    16.4.7  选项
  16.5  traceback:异常和栈轨迹
    16.5.1  支持函数
    16.5.2  检查栈
    16.5.3  traceback异常
    16.5.4  底层异常API
    16.5.5  底层栈API
  16.6  cgitb:详细的traceback报告
    16.6.1  标准traceback转储
    16.6.2  启用详细的traceback
    16.6.3  traceback中的局部变量
    16.6.4  异常属性
    16.6.5  HTML输出
    16.6.6  记录traceback
  16.7  pdb:交互式调试工具
    16.7.1  启动调试工具
    16.7.2  控制调试工具
    16.7.3  断点
    16.7.4  改变执行流
    16.7.5  用别名定制调试工具
    16.7.6  保存配置设置
  16.8  prof?ile和pstats:性能分析
    16.8.1  运行性能分析工具
    16.8.2  在上下文中运行
    16.8.3  pstats:保存和处理统计信息
    16.8.4  限制报告内容
    16.8.5  调用者/被调用者图
  16.9  timeit:测量小段Python代码执行的时间
    16.9.1  模块内容
    16.9.2  基本示例
    16.9.3  将值存储在字典中
    16.9.4  从命令行执行
  16.10  tabnanny:缩进验证工具
  16.11  compileall:字节编译源文件
    16.11.1  编译一个目录
    16.11.2  忽略文件
    16.11.3  编译sys.path
    16.11.4  编译单个文件
    16.11.5  从命令行运行
  16.12  pyclbr:类浏览器
    16.12.1  扫描类
    16.12.2  扫描函数
  16.13  venv:创建虚拟环境
    16.13.1  创建环境
    16.13.2  虚拟环境的内容
    16.13.3  使用虚拟环境
  16.14  ensurepip:安装Python包安装工具
第17章  运行时特性
  17.1  site:全站点配置
    17.1.1  导入路径
    17.1.2  用户目录
    17.1.3  路径配置文件
    17.1.4  定制站点配置
    17.1.5  定制用户配置
    17.1.6  禁用site模块
  17.2  sys:系统特定配置
    17.2.1  解释器设置
    17.2.2  运行时环境
    17.2.3  内存管理和限制
    17.2.4  异常处理
    17.2.5  底层线程支持
    17.2.6  模块和导入
    17.2.7  跟踪程序运行情况
  17.3  os:可移植访问操作系统特定特性
    17.3.1  检查文件系统内容
    17.3.2  管理文件系统权限
    17.3.3  创建和删除目录
    17.3.4  处理符号链接
    17.3.5  安全地替换现有文件
    17.3.6  检测和改变进程所有者
    17.3.7  管理进程环境
    17.3.8  管理进程工作目录
    17.3.9  运行外部命令
    17.3.10  用os.fork()创建进程
    17.3.11  等待子进程
    17.3.12  Spawn创建新进程
    17.3.13  操作系统错误码
  17.4  platform:系统版本信息
    17.4.1  解释器
    17.4.2  平台
    17.4.3  操作系统和硬件信息
    17.4.4  可执行程序体系结构
  17.5  resource:系统资源管理
    17.5.1  当前使用情况
    17.5.2  资源限制
  17.6  gc:垃圾回收器
    17.6.1  跟踪引用
    17.6.2  强制垃圾回收
    17.6.3  查找无法回收的对象引用
    17.6.4  回收阈值和代
    17.6.5  调试
  17.7  sysconf?ig:解释器编译时配置
    17.7.1  配置变量
    17.7.2  安装路径
    17.7.3  Python版本和平台
第18章  语言工具
  18.1  warnings:非致命警告
    18.1.1  分类和过滤
    18.1.2  生成警告
    18.1.3  用模式过滤
    18.1.4  重复的警告
    18.1.5  候选消息传送函数
    18.1.6  格式化
    18.1.7  警告中的栈层次
  18.2  abc:抽象基类
    18.2.1  ABC如何工作
    18.2.2  注册一个具体类
    18.2.3  通过派生实现
    18.2.4  辅助基类
    18.2.5  不完整的实现
    18.2.6  ABC中的具体方法
    18.2.7  抽象属性
    18.2.8  抽象类和静态方法
  18.3  dis:Python字节码反汇编工具
    18.3.1  基本反汇编
    18.3.2  反汇编函数
    18.3.3  类
    18.3.4  源代码
    18.3.5  使用反汇编调试
    18.3.6  循环的性能分析
    18.3.7  编译器优化
  18.4  inspect:检查现场对象
    18.4.1  示例模块
    18.4.2  检查模块
    18.4.3  检查类
    18.4.4  检查实例
    18.4.5  文档串
    18.4.6  获取源代码
    18.4.7  方法和函数签名
    18.4.8  类层次体系
    18.4.9  方法解析顺序
    18.4.10  栈与帧
    18.4.11  命令行接口
第19章  模块和包
  19.1  importlib:Python的导入机制
    19.1.1  示例包
    19.1.2  模块类型
    19.1.3  导入模块
    19.1.4  加载工具
  19.2  pkgutil:包工具
    19.2.1  包导入路径
    19.2.2  包的开发版本
    19.2.3  用PKG文件管理路径
    19.2.4  嵌套包
    19.2.5  包数据
  19.3  zipimport:从ZIP归档加载Python代码
    19.3.1  示例
    19.3.2  查找模块
    19.3.3  访问代码
    19.3.4  源代码
    19.3.5  包
    19.3.6  数据
附录A  移植说明
附录B  标准库之外