《Python 3标准库》PDF下载

  • 购买积分:27 如何计算积分?
  • 作  者:(美)道格·赫尔曼著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111608950
  • 页数:1086 页
图书介绍:在本书中,你会看到用来处理文本、数据类型、算法、数学计算、文件系统、网络通信、Internet、XML、Email、加密、并发性、运行时和语言服务等各个方面的实用代码和解决方案。在内容安排上,每一节都会全面介绍一个模块,并提供一些很有价值的补充资源链接,这使得本书成为一本理想的Python标准库参考手册。

第1章 文本 1

1.1 string:文本常量和模板 1

1.1.1函数 1

1.1.2模板 2

1.1.3高级模板 3

1.1.4 Formatter 5

1.1.5常量 5

1.2 textwrap:格式化文本段落 6

1.2.1示例数据 6

1.2.2填充段落 7

1.2.3去除现有的缩进 7

1.2.4结合dedent和fill 8

1.2.5缩进块 8

1.2.6悬挂缩进 10

1.2.7截断长文本 10

1.3 re:正则表达式 11

1.3.1查找文本中的模式 11

1.3.2编译表达式 12

1.3.3多重匹配 13

1.3.4模式语法 14

1.3.5限制搜索 22

1.3.6用组解析匹配 24

1.3.7搜索选项 29

1.3.8前向或后向 35

1.3.9自引用表达式 38

1.3.10用模式修改字符串 42

1.3.11利用模式拆分 44

1.4 difflib:比较序列 46

1.4.1比较文本体 47

1.4.2无用数据 49

1.4.3比较任意类型 50

第2章 数据结构 52

2.1 enum:枚举类型 53

2.1.1创建枚举 53

2.1.2迭代 53

2.1.3比较Enum 54

2.1.4唯一枚举值 55

2.1.5通过编程创建枚举 56

2.1.6非整数成员值 58

2.2 collections:容器数据类型 60

2.2.1 ChainMap:搜索多个字典 60

2.2.2 Counter:统计可散列的对象 63

2.2.3 defaultdict:缺少的键返回一个默认值 66

2.2.4 deque:双端队列 67

2.2.5 namedtuple:带命名字段的元组子类 70

2.2.6 OrderedDict:记住向字典中增加键的顺序 74

2.2.7 collections.abc:容器的抽象基类 76

2.3数组:固定类型数据序列 78

2.3.1初始化 78

2.3.2处理数组 79

2.3.3数组和文件 79

2.3.4候选字节顺序 80

2.4 heapq:堆排序算法 81

2.4.1示例数据 81

2.4.2创建堆 82

2.4.3访问堆的内容 83

2.4.4堆的数据极值 85

2.4.5高效合并有序序列 85

2.5 bisect:维护有序列表 86

2.5.1有序插入 86

2.5.2处理重复 87

2.6 queue:线程安全的FIFO实现 88

2.6.1基本FIFO队列 88

2.6.2 LIFO队列 89

2.6.3优先队列 89

2.6.4构建一个多线程播客客户程序 90

2.7 struct:二进制数据结构 93

2.7.1函数与St ruct类 93

2.7.2打包和解包 93

2.7.3字节序 94

2.7.4缓冲区 95

2.8 weakref:对象的非永久引用 96

2.8.1引用 96

2.8.2引用回调 97

2.8.3最终化对象 98

2.8.4代理 100

2.8.5缓存对象 101

2.9 copy:复制对象 103

2.9.1浅副本 103

2.9.2深副本 104

2.9.3定制复制行为 105

2.9.4深副本中的递归 106

2.10 pprint:美观打印数据结构 107

2.10.1打印 108

2.10.2格式化 108

2.10.3任意类 109

2.10.4递归 110

2.10.5限制嵌套输出 110

2.10.6控制输出宽度 111

第3章 算法 113

3.1 functools:管理函数的工具 113

3.1.1修饰符 113

3.1.2比较 119

3.1.3缓存 122

3.1.4缩减数据集 125

3.1.5泛型函数 127

3.2 itertools:迭代器函数 129

3.2.1合并和分解迭代器 129

3.2.2转换输入 132

3.2.3生成新值 133

3.2.4过滤 135

3.2.5数据分组 138

3.2.6合并输入 139

3.3 operator:内置操作符的函数接口 144

3.3.1逻辑操作 144

3.3.2比较操作符 145

3.3.3算术操作符 145

3.3.4序列操作符 146

3.3.5原地操作符 148

3.3.6属性和元素“获取方法” 148

3.3.7结合操作符和定制类 150

3.4 contextlib:上下文管理器工具 151

3.4.1上下文管理器API 151

3.4.2上下文管理器作为函数修饰符 153

3.4.3从生成器到上下文管理器 154

3.4.4关闭打开的句柄 156

3.4.5忽略异常 157

3.4.6重定向输出流 158

3.4.7动态上下文管理器栈 159

第4章 日期和时间 166

4.1 time:时钟时间 166

4.1.1比较时钟 166

4.1.2墙上时钟时间 167

4.1.3单调时钟 168

4.1.4处理器时钟时间 169

4.1.5性能计数器 170

4.1.6时间组成 170

4.1.7处理时区 171

4.1.8解析和格式化时间 172

4.2 datetime:日期和时间值管理 174

4.2.1时间 174

4.2.2日期 175

4.2.3 timedelta 177

4.2.4日期算术运算 178

4.2.5比较值 179

4.2.6结合日期和时间 179

4.2.7格式化和解析 180

4.2.8时区 182

4.3 calendar:处理日期 183

4.3.1格式化示例 183

4.3.2本地化环境 185

4.3.3计算日期 186

第5章 数学运算 188

5.1 decimal:定点数和浮点数的数学运算 188

5.1.1 Decimal 188

5.1.2格式化 189

5.1.3算术运算 190

5.1.4特殊值 191

5.1.5上下文 192

5.2 f ractions:有理数 196

5.2.1创建Fraction实例 197

5.2.2算术运算 198

5.2.3近似值 199

5.3 random:伪随机数生成器 199

5.3.1生成随机数 200

5.3.2指定种子 200

5.3.3保存状态 201

5.3.4随机整数 202

5.3.5选择随机元素 203

5.3.6排列 203

5.3.7采样 205

5.3.8多个并发生成器 205

5.3.9 SystemRandom 206

5.3.10非均匀分布 207

5.4 math:数学函数 208

5.4.1特殊常量 208

5.4.2测试异常值 208

5.4.3比较 210

5.4.4将浮点值转换为整数 212

5.4.5浮点值的其他表示 213

5.4.6正号和负号 214

5.4.7常用计算 215

5.4.8指数和对数 218

5.4.9角 222

5.4.10三角函数 224

5.4.11双曲函数 226

5.4.12特殊函数 227

5.5 statistics:统计计算 228

5.5.1平均值 228

5.5.2方差 230

第6章 文件系统 232

6.1 os.path:平台独立的文件名管理 233

6.1.1解析路径 233

6.1.2建立路径 236

6.1.3规范化路径 237

6.1.4文件时间 238

6.1.5测试文件 238

6.2 pathlib:文件系统路径作为对象 240

6.2.1路径表示 240

6.2.2建立路径 240

6.2.3解析路径 242

6.2.4创建具体路径 243

6.2.5目录内容 244

6.2.6读写文件 246

6.2.7管理目录和符号链接 246

6.2.8文件类型 247

6.2.9文件属性 248

6.2.10权限 250

6.2.11删除 250

6.3 glob:文件名模式匹配 252

6.3.1示例数据 252

6.3.2通配符 252

6.3.3单字符通配符 253

6.3.4字符区间 253

6.3.5转义元字符 254

6.4 fnmatch:UNIX式glob模式匹配 254

6.4.1简单匹配 254

6.4.2过滤 255

6.4.3转换模式 256

6.5 linecache:高效读取文本文件 257

6.5.1测试数据 257

6.5.2读取特定行 257

6.5.3处理空行 258

6.5.4错误处理 258

6.5.5读取Python源文件 259

6.6 tempfile:临时文件系统对象 260

6.6.1临时文件 260

6.6.2命名文件 262

6.6.3假脱机文件 262

6.6.4临时目录 263

6.6.5预测名 264

6.6.6临时文件位置 264

6.7 shutil:高层文件操作 265

6.7.1复制文件 265

6.7.2复制文件元数据 268

6.7.3处理目录树 269

6.7.4查找文件 271

6.7.5归档 272

6.7.6文件系统空间 275

6.8 filecmp:比较文件 276

6.8.1示例数据 276

6.8.2比较文件 278

6.8.3比较目录 279

6.8.4在程序中使用差异 280

6.9 mmap:内存映射文件 283

6.9.1读文件 284

6.9.2写文件 285

6.9.3正则表达式 286

6.10 codecs:字符串编码和解码 287

6.10.1 Unicode入门 287

6.10.2处理文件 289

6.10.3字节序 291

6.10.4错误处理 293

6.10.5编码转换 295

6.10.6非Unicode编码 296

6.10.7增量编码 297

6.10.8 Unicode数据和网络通信 299

6.10.9定义定制编码 301

6.11 io:文本、十进制和原始流I/O工具 307

6.11.1内存中的流 307

6.11.2为文本数据包装字节流 308

第7章 数据持久存储与交换 311

7.1 pickle:对象串行化 311

7.1.1编码和解码字符串中的数据 311

7.1.2处理流 312

7.1.3重构对象的问题 313

7.1.4不可腌制的对象 314

7.1.5循环引用 316

7.2 shelve:对象的持久存储 318

7.2.1创建一个新shelf 318

7.2.2写回 319

7.2.3特定shelf类型 320

7.3 d bm : UNIX键-值数据库 320

7.3.1数据库类型 321

7.3.2创建一个新数据库 321

7.3.3打开一个现有数据库 322

7.3.4错误情况 322

7.4 sqlite3:嵌入式关系数据库 323

7.4.1创建数据库 323

7.4.2获取数据 326

7.4.3查询元数据 327

7.4.4行对象 328

7.4.5在查询中使用变量 329

7.4.6批量加载 331

7.4.7定义新的列类型 331

7.4.8确定列类型 334

7.4.9事务 336

7.4.10隔离级别 338

7.4.11内存中的数据库 341

7.4.12导出数据库内容 341

7.4.13在SQL中使用Python函数 342

7.4.14带正则表达式的查询 344

7.4.15 定制聚集 345

7.4.16线程和连接共享 346

7.4.17限制对数据的访问 347

7.5 xml.et ree.ElementTree:XML操纵API 349

7.5.1解析XML文档 349

7.5.2遍历解析树 350

7.5.3查找文档中的节点 351

7.5.4解析节点属性 352

7.5.5解析时监视事件 354

7.5.6创建一个定制树构造器 356

7.5.7解析串 357

7.5.8用元素节点构造文档 359

7.5.9美观打印XML 359

7.5.10设置元素属性 360

7.5.11由节点列表构造树 362

7.5.12将XML串行化至一个流 364

7.6 CSv:逗号分隔值文件 366

7.6.1读文件 366

7.6.2写文件 367

7.6.3方言 368

7.6.4使用字段名 373

第8章 数据压缩与归档 375

8.1 zlib: GNU zlib压缩 375

8.1.1处理内存中的数据 375

8.1.2增量压缩与解压缩 377

8.1.3混合内容流 378

8.1.4校验和 378

8.1.5压缩网络数据 379

8.2 gzip:读写GNU zip文件 382

8.2.1写压缩文件 382

8.2.2读压缩数据 384

8.2.3处理流 385

8.3 bz2:bzip2压缩 386

8.3.1内存中的一次性操作 386

8.3.2增量压缩和解压缩 388

8.3.3混合内容流 388

8.3.4写压缩文件 389

8.3.5读压缩文件 390

8.3.6读写Unicode数据 391

8.3.7压缩网络数据 392

8.4 tarfile:tar归档访问 395

8.4.1测试tar文件 396

8.4.2从归档读取元数据 396

8.4.3从归档抽取文件 397

8.4.4创建新归档 399

8.4.5使用候选归档成员名 399

8.4.6从非文件源写数据 400

8.4.7追加到归档 400

8.4.8处理压缩归档 401

8.5 zipfile: ZIP归档访问 402

8.5.1测试ZIP文件 402

8.5.2从归档读取元数据 402

8.5.3从归档抽取归档文件 404

8.5.4创建新归档 404

8.5.5使用候选归档成员名 406

8.5.6从非文件源写数据 406

8.5.7利用ZipInfo实例写数据 407

8.5.8追加到文件 407

8.5.9 Python ZIP归档 408

8.5.10限制 410

第9章 加密 411

9.1 hashlib:密码散列 411

9.1.1散列算法 411

9.1.2示例数据 412

9.1.3 MD5示例 412

9.1.4 SHA1示例 412

9.1.5按名创建散列 413

9.1.6增量更新 413

9.2 hmac:密码消息签名与验证 414

9.2.1消息签名 415

9.2.2候选摘要类型 415

9.2.3二进制摘要 416

9.2.4消息签名的应用 416

第10章 使用进程、线程和协程提供并发性 420

10.1 subprocess:创建附加进程 420

10.1.1运行外部命令 421

10.1.2直接处理管道 425

10.1.3连接管道段 427

10.1.4与其他命令交互 428

10.1.5进程间传递信号 430

10.2 signal:异步系统事件 434

10.2.1接收信号 434

10.2.2获取已注册的处理器 435

10.2.3发送信号 436

10.2.4闹铃 436

10.2.5忽略信号 437

10.2.6信号和线程 438

10.3 threading:进程中管理并发操作 440

10.3.1 Thread对象 440

10.3.2确定当前线程 441

10.3.3守护与非守护线程 442

10.3.4枚举所有线程 444

10.3.5派生线程 445

10.3.6定时器线程 447

10.3.7线程间传送信号 447

10.3.8控制资源访问 449

10.3.9同步线程 453

10.3.10限制资源的并发访问 456

10.3.11线程特定的数据 457

10.4 multiprocessing:像线程一样管理进程 459

10.4.1 multiprocessing基础 460

10.4.2可导入的目标函数 461

10.4.3确定当前进程 461

10.4.4守护进程 462

10.4.5等待进程 463

10.4.6终止进程 465

10.4.7进程退出状态 466

10.4.8日志 467

10.4.9派生进程 469

10.4.10向进程传递消息 469

10.4.11进程间信号传输 472

10.4.12控制资源访问 473

10.4.13同步操作 474

10.4.14控制资源的并发访问 475

10.4.15 管理共享状态 476

10.4.16共享命名空间 477

10.4.17进程池 479

10.4.18实现MapReduce 480

10.5 asyncio:异步I/O、事件循环和并发工具 484

10.5.1异步并发概念 484

10.5.2利用协程合作完成多任务 485

10.5.3调度常规函数调用 488

10.5.4异步地生成结果 490

10.5.5并发地执行任务 492

10.5.6组合协程和控制结构 495

10.5.7同步原语 499

10.5.8提供协议类抽象的异步I/O 505

10.5.9使用协程和流的异步I/O 510

10.5.10使用SSL 514

10.5.11与域名服务交互 516

10.5.12使用子进程 518

10.5.13接收UNIX信号 523

10.5.14结合使用协程、线程与进程 525

10.5.15用asyncio调试 527

10.6 concurrent.futures:管理并发任务池 530

10.6.1利用基本线程池使用map() 531

10.6.2调度单个任务 532

10.6.3按任意顺序等待任务 532

10.6.4 Future回调 533

10.6.5撤销任务 534

10.6.6任务中的异常 535

10.6.7上下文管理器 536

10.6.8进程池 537

第11章 网络通信 539

11.1 ipaddress:Internet地址 539

11.1.1地址 539

11.1.2网络 540

11.1.3接口 543

11.2 socket:网络通信 544

11.2.1寻址、协议簇和套接字类型 544

11.2.2 TCP/IP客户和服务器 552

11.2.3用户数据报客户和服务器 558

11.2.4 UNIX域套接字 560

11.2.5组播 563

11.2.6发送二进制数据 566

11.2.7非阻塞通信和超时 568

11.3 selectors:I/O多路复用抽象 568

11.3.1操作模型 569

11.3.2回送服务器 569

11.3.3回送客户 570

11.3.4服务器和客户 571

11.4 select:高效等待I/O 572

11.4.1使用select() 572

11.4.2带超时的非阻塞I/O 577

11.4.3使用poll() 579

11.4.4平台特定的选项 582

11.5 socketserver:创建网络服务器 583

11.5.1服务器类型 583

11.5.2服务器对象 583

11.5.3实现服务器 584

11.5.4请求处理器 584

11.5.5回送示例 584

11.5.6线程和进程 588

第12章 互联网 592

12.1 urllib.parse:分解URL 592

12.1.1解析 593

12.1.2反解析 595

12.1.3连接 596

12.1.4解码查询参数 597

12.2 urllib.request:网络资源访问 599

12.2.1 HTTP GET 599

12.2.2编码参数 600

12.2.3 HTTP POST 601

12.2.4添加发出首部 602

12.2.5从请求提交表单数据 602

12.2.6上传文件 603

12.2.7创建定制协议处理器 606

12.3 urllib.robotparser:Internet蜘蛛访问控制 608

12.3.1 robots.txt 608

12.3.2测试访问权限 609

12.3.3长寿命蜘蛛 610

12.4 base64:用ASCII编码二进制数据 611

12.4.1 Base64编码 611

12.4.2 Base64解码 612

12.4.3 URL安全的变种 612

12.4.4其他编码 613

12.5 http.server:实现Web服务器的基类 615

12.5.1 HTTP GET 615

12.5.2 HTTP POST 616

12.5.3线程和进程 618

12.5.4处理错误 619

12.5.5设置首部 620

12.5.6命令行用法 621

12.6 http.cookies:HTTP cookie 622

12.6.1创建和设置cookie 622

12.6.2 Morsel 622

12.6.3编码的值 624

12.6.4接收和解析Cookie首部 624

12.6.5候选输出格式 625

12.7 webbrowser:显示Web页面 626

12.7.1简单示例 626

12.7.2窗口与标签页 626

12.7.3使用特定浏览器 627

12.7.4 BROWSER变量 627

12.7.5命令行接口 627

12.8 uuid:全局唯一标识符 628

12.8.1 UUID 1:IEEE 802 MAC地址 628

12.8.2 UUID 3和5:基于名字的值 630

12.8.3 UUID 4:随机值 631

12.8.4处理UUID对象 631

12.9 j son:JavaScript对象记法 632

12.9.1编码和解码简单数据类型 633

12.9.2人类可读和紧凑输出 633

12.9.3编码字典 635

12.9.4处理定制类型 636

12.9.5编码器和解码器类 638

12.9.6处理流和文件 640

12.9.7混合数据流 641

12.9.8命令行上处理JSON 641

12.10 xmlrpc.client: XML-RPC的客户库 642

12.10.1连接服务器 643

12.10.2数据类型 645

12.10.3传递对象 648

12.10.4二进制数据 648

12.10.5异常处理 650

12.10.6将调用组合在一个消息中 650

12.11 xmlrpc.server:一个XML-RPC服务器 652

12.11.1一个简单的服务器 652

12.11.2候选API名 653

12.11.3加点的API名 654

12.11.4任意API名 655

12.11.5公布对象的方法 656

12.11.6分派调用 657

12.11.7自省API 659

第13章 email 662

13.1 smtplib:简单邮件传输协议客户 662

13.1.1发送email消息 662

13.1.2认证和加密 663

13.1.3验证email地址 666

13.2 smtpd:示例邮件服务器 667

13.2.1邮件服务器基类 667

13.2.2调试服务器 669

13.2.3代理服务器 670

13.3 mailbox:管理email归档 670

13.3.1 mbox 671

13.3.2 Maildir 673

13.3.3消息标志 678

13.3.4其他格式 680

13.4 imaplib: IMAP4客户库 680

13.4.1变种 680

13.4.2连接服务器 681

13.4.3示例配置 682

13.4.4列出邮箱 682

13.4.5邮箱状态 684

13.4.6选择邮箱 686

13.4.7搜索消息 686

13.4.8搜索规则 687

13.4.9获取消息 689

13.4.10完整消息 693

13.4.11上传消息 694

13.4.12移动和复制消息 695

13.4.13删除消息 696

第14章 应用构建模块 699

14.1 argparse:命令行选项和参数解析 700

14.1.1建立解析器 700

14.1.2定义参数 700

14.1.3解析命令行 700

14.1.4简单示例 701

14.1.5帮助输出 707

14.1.6解析器组织 711

14.1.7高级参数处理 716

14.2 getopt:命令行选项解析 722

14.2.1函数参数 722

14.2.2短格式选项 723

14.2.3长格式选项 723

14.2.4一个完整的例子 723

14.2.5缩写长格式选项 725

14.2.6 GNU式选项解析 725

14.2.7结束参数处理 726

14.3 readline:GNU readline库 727

14.3.1配置readline 727

14.3.2完成文本 728

14.3.3访问完成缓冲区 731

14.3.4输入历史 733

14.3.5 hook 736

14.4 getpass:安全密码提示 737

14.4.1示例 737

14.4.2无终端使用getpass 738

14.5 cmd:面向行的命令处理器 739

14.5.1处理命令 739

14.5.2命令参数 740

14.5.3现场帮助 741

14.5.4自动完成 742

14.5.5覆盖基类方法 744

14.5.6通过属性配置Cmd 745

14.5.7运行shell命令 746

14.5.8候选输入 747

14.5.9 sys.a rgv的命令 748

14.6 shlex:解析shell类语法 749

14.6.1解析加引号的字符串 749

14.6.2为shell建立安全的字符串 751

14.6.3嵌入注释 751

14.6.4将字符串分解为token 752

14.6.5包含其他token源 752

14.6.6控制解析器 753

14.6.7错误处理 755

14.6.8 POSIX与非POSIX解析 756

14.7 configparser:处理配置文件 757

14.7.1配置文件格式 757

14.7.2读取配置文件 758

14.7.3访问配置设置 759

14.7.4修改设置 765

14.7.5保存配置文件 766

14.7.6选项搜索路径 767

14.7.7用拼接合并值 768

14.8 logging:报告状态、错误和信息消息 772

14.8.1日志系统的组成 773

14.8.2应用与库中的日志记录 773

14.8.3记入文件 773

14.8.4旋转日志文件 774

14.8.5详细级别 774

14.8.6命名日志记录器实例 776

14.8.7日志树 776

14.8.8与warnings模块集成 777

14.9 f ileinput:命令行过滤器框架 778

14.9.1将m3u文件转换为RSS 778

14.9.2进度元数据 779

14.9.3原地过滤 781

14.10 atexit:程序关闭回调 782

14.10.1注册退出回调 782

14.10.2修饰符语法 783

14.10.3撤销回调 784

14.10.4什么情况下不调用atexit函数 785

14.10.5处理异常 786

14.11 sched:定时事件调度器 787

14.11.1有延迟地运行事件 788

14.11.2重叠事件 788

14.11.3事件优先级 789

14.11.4取消事件 790

第15章 国际化和本地化 791

15.1 gettext:消息编目 791

15.1.1转换工作流概述 791

15.1.2由源代码创建消息编目 792

15.1.3运行时查找消息编目 794

15.1.4复数值 795

15.1.5应用与模块本地化 797

15.1.6切换转换 798

15.2 locale:文化本地化API 798

15.2.1探查当前本地化环境 799

15.2.2货币 803

15.2.3格式化数字 804

15.2.4解析数字 805

15.2.5日期和时间 806

第16章 开发工具 807

16.1 pydoc:模块的联机帮助 808

16.1.1纯文本帮助 808

16.1.2 HTML帮助 809

16.1.3交互式帮助 809

16.2 doctest:通过文档完成测试 810

16.2.1起步 810

16.2.2处理不可预测的输出 811

16.2.3 traceback 814

16.2.4避开空白符 815

16.2.5测试位置 819

16.2.6外部文档 822

16.2.7运行测试 824

16.2.8测试上下文 827

16.3 unittest:自动测试框架 829

16.3.1基本测试结构 829

16.3.2运行测试 829

16.3.3测试结果 830

16.3.4断言真值 831

16.3.5测试相等性 832

16.3.6几乎相等? 833

16.3.7容器 833

16.3.8测试异常 837

16.3.9测试固件 838

16.3.10用不同输入重复测试 840

16.3.11跳过测试 842

16.3.12忽略失败测试 842

16.4 trace:执行程序流 843

16.4.1示例程序 843

16.4.2跟踪执行 844

16.4.3代码覆盖 845

16.4.4调用关系 847

16.4.5编程接口 848

16.4.6保存结果数据 849

16.4.7选项 850

16.5 traceback:异常和栈轨迹 850

16.5.1支持函数 851

16.5.2检查栈 851

16.5.3 traceback异常 853

16.5.4底层异常API 854

16.5.5底层栈API 857

16.6 cgitb:详细的traceback报告 859

16.6.1标准traceback转储 859

16.6.2启用详细的traceback 860

16.6.3 traceback中的局部变量 862

16.6.4异常属性 864

16.6.5 HTML输出 866

16.6.6记录traceback 866

16.7 pd b:交互式调试工具 868

16.7.1启动调试工具 869

16.7.2控制调试工具 871

16.7.3断点 881

16.7.4改变执行流 890

16.7.5用别名定制调试工具 895

16.7.6保存配置设置 897

16.8 profile和pstats:性能分析 898

16.8.1运行性能分析工具 898

16.8.2在上下文中运行 901

16.8.3 pstats:保存和处理统计信息 901

16.8.4限制报告内容 903

16.8.5调用者/被调用者图 903

16.9 timeit:测量小段Python代码执行的时间 905

16.9.1模块内容 905

16.9.2基本示例 905

16.9.3将值存储在字典中 906

16.9.4从命令行执行 908

16.10 tabnanny:缩进验证工具 909

16.11 compileall:字节编译源文件 910

16.11.1编译一个目录 910

16.11.2忽略文件 911

16.11.3编译sys.path 912

16.11.4编译单个文件 912

16.11.5从命令行运行 913

16.12 pyclbr:类浏览器 914

16.12.1扫描类 915

16.12.2扫描函数 916

16.13 venv:创建虚拟环境 917

16.13.1创建环境 917

16.13.2虚拟环境的内容 917

16.13.3使用虚拟环境 918

16.14 ensu repip:安装Python包安装工具 920

第17章 运行时特性 922

17.1 site:全站点配置 922

17.1.1导入路径 922

17.1.2用户目录 923

17.1.3路径配置文件 924

17.1.4定制站点配置 926

17.1.5定制用户配置 927

17.1.6禁用site模块 929

17.2 Sys:系统特定配置 929

17.2.1解释器设置 929

17.2.2运行时环境 935

17.2.3内存管理和限制 937

17.2.4异常处理 942

17.2.5底层线程支持 944

17.2.6模块和导入 947

17.2.7跟踪程序运行情况 963

17.3 os:可移植访问操作系统特定特性 968

17.3.1检查文件系统内容 968

17.3.2管理文件系统权限 971

17.3.3创建和删除目录 973

17.3.4处理符号链接 973

17.3.5安全地替换现有文件 974

17.3.6检测和改变进程所有者 975

17.3.7管理进程环境 976

17.3.8管理进程工作目录 977

17.3.9运行外部命令 977

17.3.10用os.fork()创建进程 979

17.3.11等待子进程 980

17.3.12 Spawn创建新进程 982

17.3.13操作系统错误码 982

17.4 platform:系统版本信息 983

17.4.1解释器 983

17.4.2平台 984

17.4.3操作系统和硬件信息 985

17.4.4可执行程序体系结构 986

17.5 resource:系统资源管理 987

17.5.1当前使用情况 987

17.5.2资源限制 988

17.6 g c:垃圾回收器 990

17.6.1跟踪引用 990

17.6.2强制垃圾回收 992

17.6.3查找无法回收的对象引用 993

17.6.4回收阈值和代 995

17.6.5调试 998

17.7 sysconfig:解释器编译时配置 1002

17.7.1配置变量 1002

17.7.2安装路径 1004

17.7.3 Python版本和平台 1007

第18章 语言工具 1009

18.1 warnings:非致命警告 1009

18.1.1分类和过滤 1010

18.1.2生成警告 1010

18.1.3用模式过滤 1011

18.1.4重复的警告 1013

18.1.5候选消息传送函数 1013

18.1.6格式化 1014

18.1.7警告中的栈层次 1014

18.2 abc:抽象基类 1015

18.2.1 ABC如何工作 1015

18.2.2注册一个具体类 1016

18.2.3通过派生实现 1017

18.2.4辅助基类 1017

18.2.5不完整的实现 1018

18.2.6 ABC中的具体方法 1019

18.2.7抽象属性 1020

18.2.8抽象类和静态方法 1022

18.3 dis:Python字节码反汇编工具 1023

18.3.1基本反汇编 1023

18.3.2反汇编函数 1024

18.3.3类 1025

18.3.4源代码 1026

18.3.5使用反汇编调试 1027

18.3.6循环的性能分析 1028

18.3.7编译器优化 1033

18.4 inspect:检查现场对象 1035

18.4.1示例模块 1035

18.4.2检查模块 1035

18.4.3检查类 1036

18.4.4检查实例 1038

18.4.5文档串 1038

18.4.6获取源代码 1039

18.4.7方法和函数签名 1041

18.4.8类层次体系 1043

18.4.9方法解析顺序 1044

18.4.10栈与帧 1045

18.4.11命令行接口 1047

第19章 模块和包 1048

19.1 importlib: Python的导入机制 1048

19.1.1示例包 1048

19.1.2模块类型 1049

19.1.3导入模块 1049

19.1.4加载工具 1051

19.2 pkgutil:包工具 1052

19.2.1包导入路径 1052

19.2.2包的开发版本 1054

19.2.3用PKG文件管理路径 1055

19.2.4嵌套包 1056

19.2.5包数据 1058

19.3 zipimport:从ZIP归档加载Python代码 1060

19.3.1示例 1060

19.3.2查找模块 1061

19.3.3访问代码 1061

19.3.4源代码 1062

19.3.5包 1063

19.3.6数据 1063

附录A移植说明 1066

附录B标准库之外 1081