
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
本書由資深Python專家親自執(zhí)筆,Python語言的核心開發(fā)人員作序推薦,權(quán)威性毋庸置疑。
對于程序員而言,標準庫與語言本身同樣重要,它好比一個百寶箱,能為各種常見的任務(wù)提供完美的解決方案,所以本書是所有Python程序員都必備的工具書!本書以案例驅(qū)動的方式講解了標準庫中一百多個模塊的使用方法(如何工作)和工作原理(為什么要這樣工作),比標準庫的官方文檔更容易理解(一個簡單的示例比一份手冊文檔更有幫助),為Python程序員熟練掌握和使用這些模塊提供了絕佳指導(dǎo)。
全書一共19章,系統(tǒng)而全面地對Python標準庫中的一百多個模塊進行了生動的講解。這些模塊主要包括:文本處理工具模塊、與數(shù)據(jù)結(jié)構(gòu)相關(guān)的模塊、與算法有關(guān)的模塊、管理日期和時間值的模塊、用于數(shù)學(xué)計算的模塊、管理文件系統(tǒng)的模塊、用于數(shù)據(jù)存儲與交換的模塊、用于數(shù)據(jù)壓縮與歸檔的模塊、用于加密的模塊、與進程和線程相關(guān)的模塊、與網(wǎng)絡(luò)通信和Email相關(guān)的模塊、構(gòu)建模塊、支持處理多種自然語言和文化設(shè)置的模塊、開發(fā)工具模塊、與運行時特性相關(guān)的模塊,等等。
三.作者簡介
Doug Hellmann目前是Racemi公司的一位高級開發(fā)人員,也是Python Software Foundation的信息交流主管。從1.4版開始他就一直在做Python編程,曾在大量UNIX和非UNIX平臺上參與項目開發(fā),涉及領(lǐng)域包括地圖、醫(yī)療新聞播報、金融和數(shù)據(jù)中心自動化。為《Python Magazine》做了一年普通專欄作家后,他在2008—2009年成為這家雜志的主編。自2007年以來,Doug在他的博客上發(fā)表了頗受關(guān)注的“Python Module of the Week”系列。他居住在喬治亞州的Athens。
四.資料目錄
譯者序
序
前言
第1章 文本1
1.1 string—文本常量和模板1
1.1.1 函數(shù)1
1.1.2 模板2
1.1.3 高級模板4
1.2 textwrap—格式化文本段落6
1.2.1 示例數(shù)據(jù)6
1.2.2 填充段落6
1.2.3 去除現(xiàn)有縮進7
1.2.4 結(jié)合dedent和fill7
1.2.5 懸掛縮進8
1.3 re—正則表達式9
1.3.1 查找文本中的模式9
1.3.2 編譯表達式10
1.3.3 多重匹配11
1.3.4 模式語法12
1.3.5 限制搜索22
1.3.6 用組解析匹配23
1.3.7 搜索選項28
1.3.8 前向或后向36
1.3.9 自引用表達式40
1.3.10 用模式修改字符串44
1.3.11 利用模式拆分46
1.4 difflib—比較序列49
1.4.1 比較文本體49
1.4.2 無用數(shù)據(jù)51
1.4.3 比較任意類型53
第2章 數(shù)據(jù)結(jié)構(gòu)55
2.1 collections—容器數(shù)據(jù)類型56
2.1.1 Counter56
2.1.2 defaultdict59
2.1.3 deque59
2.1.4 namedtuple63
2.1.5 OrderedDict65
2.2 array—固定類型數(shù)據(jù)序列66
2.2.1 初始化67
2.2.2 處理數(shù)組67
2.2.3 數(shù)組與文件68
2.2.4 候選字節(jié)順序68
2.3 heapq—堆排序算法69
2.3.1 示例數(shù)據(jù)70
2.3.2 創(chuàng)建堆70
2.3.3 訪問堆的內(nèi)容72
2.3.4 堆的數(shù)據(jù)極值73
2.4 bisect—維護有序列表74
2.4.1 有序插入74
2.4.2 處理重復(fù)75
2.5 Queue—線程安全的FIFO實現(xiàn)76
2.5.1 基本FIFO隊列77
2.5.2 LIFO隊列77
2.5.3 優(yōu)先隊列78
2.5.4 構(gòu)建一個多線程播客客戶程序79
2.6 struct—二進制數(shù)據(jù)結(jié)構(gòu)81
2.6.1 函數(shù)與Struct類81
2.6.2 打包和解包81
2.6.3 字節(jié)序82
2.6.4 緩沖區(qū)84
2.7 weakref—對象的非永久引用85
2.7.1 引用85
2.7.2 引用回調(diào)86
2.7.3 代理87
2.7.4 循環(huán)引用87
2.7.5 緩存對象92
2.8 copy—復(fù)制對象94
2.8.1 淺副本94
2.8.2 深副本95
2.8.3 定制復(fù)制行為96
2.8.4 深副本中的遞歸96
2.9 pprint—美觀打印數(shù)據(jù)結(jié)構(gòu)98
2.9.1 打印99
2.9.2 格式化99
2.9.3 任意類100
2.9.4 遞歸101
2.9.5 限制嵌套輸出101
2.9.6 控制輸出寬度101
第3章 算法103
3.1 functools—管理函數(shù)的工具103
3.1.1 修飾符103
3.1.2 比較111
3.2 itertools—迭代器函數(shù)114
3.2.1 合并和分解迭代器114
3.2.2 轉(zhuǎn)換輸入116
3.2.3 生成新值117
3.2.4 過濾119
3.2.5 數(shù)據(jù)分組121
3.3 operator—內(nèi)置操作符的函數(shù)接口123
3.3.1 邏輯操作123
3.3.2 比較操作符124
3.3.3 算術(shù)操作符124
3.3.4 序列操作符126
3.3.5 原地操作符127
3.3.6 屬性和元素“獲取方法”128
3.3.7 結(jié)合操作符和定制類129
3.3.8 類型檢查130
3.4 contextlib—上下文管理器工具131
3.4.1 上下文管理器API131
3.4.2 從生成器到上下文管理器134
3.4.3 嵌套上下文135
3.4.4 關(guān)閉打開的句柄136
第4章 日期和時間138
4.1 time—時鐘時間138
4.1.1 壁掛鐘時間138
4.1.2 處理器時鐘時間139
4.1.3 時間組成140
4.1.4 處理時區(qū)141
4.1.5 解析和格式化時間143
4.2 datetime—日期和時間值管理144
4.2.1 時間144
4.2.2 日期145
4.2.3 timedelta147
4.2.4 日期算術(shù)運算148
4.2.5 比較值149
4.2.6 結(jié)合日期和時間150
4.2.7 格式化和解析151
4.2.8 時區(qū)151
4.3 calendar—處理日期152
4.3.1 格式化示例152
4.3.2 計算日期155
第5章 數(shù)學(xué)計算157
5.1 decimal—定點數(shù)和浮點數(shù)的數(shù)學(xué)運算157
5.1.1 Decimal157
5.1.2 算術(shù)運算158
5.1.3 特殊值160
5.1.4 上下文160
5.2 fractions—有理數(shù)165
5.2.1 創(chuàng)建 Fraction實例165
5.2.2 算術(shù)運算167
5.2.3 近似值168
5.3 random—偽隨機數(shù)生成器168
5.3.1 生成隨機數(shù)168
5.3.2 指定種子169
5.3.3 保存狀態(tài)170
5.3.4 隨機整數(shù)171
5.3.5 選擇隨機元素172
5.3.6 排列172
5.3.7 采樣174
5.3.8 多個并發(fā)生成器175
5.3.9 SystemRandom176
5.3.10 非均勻分布177
5.4 math—數(shù)學(xué)函數(shù)178
5.4.1 特殊常量178
5.4.2 測試異常值179
5.4.3 轉(zhuǎn)換為整數(shù)180
5.4.4 其他表示181
5.4.5 正號和負號183
5.4.6 常用計算184
5.4.7 指數(shù)和對數(shù)186
5.4.8 角190
5.4.9 三角函數(shù)191
5.4.10 雙曲函數(shù)194
5.4.11 特殊函數(shù)195
第6章 文件系統(tǒng)197
6.1 os.path—平臺獨立的文件名管理198
6.1.1 解析路徑198
6.1.2 建立路徑200
6.1.3 規(guī)范化路徑201
6.1.4 文件時間202
6.1.5 測試文件203
6.1.6 遍歷一個目錄樹204
6.2 glob—文件名模式匹配205
6.2.1 示例數(shù)據(jù)205
6.2.2 通配符206
6.2.3 單字符通配符207
6.2.4 字符區(qū)間207
6.3 linecache—高效讀取文本文件208
6.3.1 測試數(shù)據(jù)208
6.3.2 讀取特定行209
6.3.3 處理空行209
6.3.4 錯誤處理210
6.3.5 讀取Python源文件210
6.4 tempfile—臨時文件系統(tǒng)對象211
6.4.1 臨時文件211
6.4.2 命名文件213
6.4.3 臨時目錄214
6.4.4 預(yù)測名214
6.4.5 臨時文件位置215
6.5 shutil—高級文件操作216
6.5.1 復(fù)制文件216
6.5.2 復(fù)制文件元數(shù)據(jù)218
6.5.3 處理目錄樹220
6.6 mmap—內(nèi)存映射文件222
6.6.1 讀文件223
6.6.2 寫文件223
6.6.3 正則表達式225
6.7 codecs—字符串編碼和解碼226
6.7.1 Unicode入門226
6.7.2 處理文件228
6.7.3 字節(jié)序230
6.7.4 錯誤處理232
6.7.5 標準輸入和輸出流235
6.7.6 編碼轉(zhuǎn)換238
6.7.7 非Unicode編碼239
6.7.8 增量編碼240
6.7.9 Unicode數(shù)據(jù)和網(wǎng)絡(luò)通信242
6.7.10 定義定制編碼245
6.8 StringIO—提供類文件API的文本緩沖區(qū)251
6.9 fnmatch—UNIX式glob模式匹配252
6.9.1 簡單匹配252
6.9.2 過濾253
6.9.3 轉(zhuǎn)換模式254
6.10 dircache—緩存目錄列表254
6.10.1 列出目錄內(nèi)容255
6.10.2 標注列表256
6.11 filecmp—比較文件257
6.11.1 示例數(shù)據(jù)258
6.11.2 比較文件260
6.11.3 比較目錄261
6.11.4 程序中使用差異262
第7章 數(shù)據(jù)持久存儲與交換267
7.1 pickle—對象串行化268
7.1.1 導(dǎo)入268
7.1.2 編碼和解碼字符串數(shù)據(jù)268
7.1.3 處理流269
7.1.4 重構(gòu)對象的問題271
7.1.5 不可pickle的對象272
7.1.6 循環(huán)引用273
7.2 shelve—對象持久存儲275
7.2.1 創(chuàng)建一個新shelf275
7.2.2 寫回276
7.2.3 特定shelf類型277
7.3 anydbm—DBM數(shù)據(jù)庫278
7.3.1 數(shù)據(jù)庫類型278
7.3.2 創(chuàng)建一個新數(shù)據(jù)庫279
7.3.3 打開一個現(xiàn)有數(shù)據(jù)庫279
7.3.4 錯誤情況280
7.4 whichdb—識別DBM數(shù)據(jù)庫格式281
7.5 sqlite3—嵌入式關(guān)系數(shù)據(jù)庫281
7.5.1 創(chuàng)建數(shù)據(jù)庫282
7.5.2 獲取數(shù)據(jù)285
7.5.3 查詢元數(shù)據(jù)286
7.5.4 行對象287
7.5.5 查詢中使用變量288
7.5.6 批量加載290
7.5.7 定義新列類型291
7.5.8 確定列類型294
7.5.9 事務(wù)296
7.5.10 隔離級別298
7.5.11 內(nèi)存中數(shù)據(jù)庫302
7.5.12 導(dǎo)出數(shù)據(jù)庫內(nèi)容302
7.5.13 SQL中使用Python函數(shù)304
7.5.14 定制聚集306
7.5.15 定制排序307
7.5.16 線程和連接共享308
7.5.17 限制對數(shù)據(jù)的訪問309
7.6 xml.etree.ElementTree—XML操縱API311
7.6.1 解析XML文檔312
7.6.2 遍歷解析樹313
7.6.3 查找文檔中的節(jié)點314
7.6.4 解析節(jié)點屬性315
7.6.5 解析時監(jiān)視事件317
7.6.6 創(chuàng)建一個定制樹構(gòu)造器319
7.6.7 解析串321
7.6.8 用元素節(jié)點構(gòu)造文檔322
7.6.9 美觀打印XML323
7.6.10 設(shè)置元素屬性325
7.6.11 由節(jié)點列表構(gòu)造樹327
7.6.12 將XML串行化至一個流329
7.7 csv—逗號分隔值文件331
7.7.1 讀文件332
7.7.2 寫文件332
7.7.3 方言334
7.7.4 使用字段名338
第8章 數(shù)據(jù)壓縮與歸檔340
8.1 zlib—GNU zlib壓縮340
8.1.1 處理內(nèi)存中數(shù)據(jù)340
8.1.2 增量壓縮與解壓縮341
8.1.3 混合內(nèi)容流342
8.1.4 校驗和343
8.1.5 壓縮網(wǎng)絡(luò)數(shù)據(jù)343
8.2 gzip—讀寫GNU Zip文件347
8.2.1 寫壓縮文件348
8.2.2 讀壓縮數(shù)據(jù)349
8.2.3 處理流350
8.3 bz2—bzip2壓縮352
8.3.1 內(nèi)存中一次性操作352
8.3.2 增量壓縮和解壓縮354
8.3.3 混合內(nèi)容流354
8.3.4 寫壓縮文件355
8.3.5 讀壓縮文件357
8.3.6 壓縮網(wǎng)絡(luò)數(shù)據(jù)358
8.4 tarfile—Tar歸檔訪問362
8.4.1 測試Tar文件362
8.4.2 從歸檔文件讀取元數(shù)據(jù)362
8.4.3 從歸檔抽取文件364
8.4.4 創(chuàng)建新歸檔365
8.4.5 使用候選歸檔成員名366
8.4.6 從非文件源寫數(shù)據(jù)366
8.4.7 追加到歸檔367
8.4.8 處理壓縮歸檔368
8.5 zipfile—ZIP歸檔訪問369
8.5.1 測試ZIP文件369
8.5.2 從歸檔讀取元數(shù)據(jù)369
8.5.3 從歸檔抽取歸檔文件371
8.5.4 創(chuàng)建新歸檔371
8.5.5 使用候選歸檔成員名373
8.5.6 從非文件源寫數(shù)據(jù)373
8.5.7 利用ZipInfo實例寫374
8.5.8 追加到文件375
8.5.9 Python ZIP歸檔376
8.5.10 限制377
第9章 加密378
9.1 hashlib—密碼散列378
9.1.1 示例數(shù)據(jù)378
9.1.2 MD5示例379
9.1.3 SHA1示例379
9.1.4 按名創(chuàng)建散列379
9.1.5 增量更新380
9.2 hmac—密碼消息簽名與驗證381
9.2.1 消息簽名381
9.2.2 SHA與MD5382
9.2.3 二進制摘要383
9.2.4 消息簽名的應(yīng)用383
第10章 進程與線程387
10.1 subprocess—創(chuàng)建附加進程387
10.1.1 運行外部命令388
10.1.2 直接處理管道391
10.1.3 連接管道段393
10.1.4 與其他命令交互394
10.1.5 進程間傳遞信號396
10.2 signal—異步系統(tǒng)事件400
10.2.1 接收信號400
10.2.2 獲取注冊的處理程序401
10.2.3 發(fā)送信號402
10.2.4 鬧鈴403
10.2.5 忽略信號403
10.2.6 信號和線程404
10.3 threading—管理并發(fā)操作406
10.3.1 Thread對象406
10.3.2 確定當前線程407
10.3.3 守護與非守護線程409
10.3.4 列舉所有線程411
10.3.5 派生線程412
10.3.6 定時器線程414
10.3.7 線程間傳送信號415
10.3.8 控制資源訪問416
10.3.9 同步線程421
10.3.10 限制資源的并發(fā)訪問422
10.3.11 線程特定數(shù)據(jù)423
10.4 multiprocessing—像線程一樣管理進程425
10.4.1 multiprocessing基礎(chǔ)426
10.4.2 可導(dǎo)入的目標函數(shù)427
10.4.3 確定當前進程428
10.4.4 守護進程428
10.4.5 等待進程430
10.4.6 終止進程431
10.4.7 進程退出狀態(tài)432
10.4.8 日志434
10.4.9 派生進程435
10.4.10 向進程傳遞消息435
10.4.11 進程間信號傳輸438
10.4.12 控制資源訪問439
10.4.13 同步操作440
10.4.14 控制資源的并發(fā)訪問441
10.4.15 管理共享狀態(tài)443
10.4.16 共享命名空間444
10.4.17 進程池445
10.4.18 實現(xiàn)MapReduce447
第11章 網(wǎng)絡(luò)通信452
11.1 socket—網(wǎng)絡(luò)通信452
11.1.1 尋址、協(xié)議簇和套接字類型452
11.1.2 TCP/IP客戶和服務(wù)器460
11.1.3 用戶數(shù)據(jù)報客戶和服務(wù)器467
11.1.4 UNIX域套接字469
11.1.5 組播473
11.1.6 發(fā)送二進制數(shù)據(jù)476
11.1.7 非阻塞通信和超時478
11.2 select—高效等待I/O 479
11.2.1 使用select()479
11.2.2 有超時的非阻塞I/O484
11.2.3 使用 poll()486
11.2.4 平臺特定選項490
11.3 SocketServer—創(chuàng)建網(wǎng)絡(luò)服務(wù)器491
11.3.1 服務(wù)器類型491
11.3.2 服務(wù)器對象491
11.3.3 實現(xiàn)服務(wù)器491
11.3.4 請求處理器492
11.3.5 回應(yīng)示例492
11.3.6 線程和進程497
11.4 asyncore—異步I/O499
11.4.1 服務(wù)器500
11.4.2 客戶501
11.4.3 事件循環(huán)503
11.4.4 處理其他事件循環(huán)505
11.4.5 處理文件507
11.5 asynchat—異步協(xié)議處理器508
11.5.1 消息終止符508
11.5.2 服務(wù)器和處理器508
11.5.3 客戶511
11.5.4 集成512
第12章 Internet514
12.1 urlparse—分解URL514
12.1.1 解析515
12.1.2 反解析517
12.1.3 連接518
12.2 BaseHTTPServer—實現(xiàn)Web服務(wù)器的基類519
12.2.1 HTTP GET519
12.2.2 HTTP POST521
12.2.3 線程與進程522
12.2.4 處理錯誤523
12.2.5 設(shè)置首部524
12.3 urllib—網(wǎng)絡(luò)資源訪問525
12.3.1 利用緩存實現(xiàn)簡單獲取526
12.3.2 參數(shù)編碼527
12.3.3 路徑與URL529
12.4 urllib2—網(wǎng)絡(luò)資源訪問530
12.4.1 HTTP GET530
12.4.2 參數(shù)編碼532
12.4.3 HTTP POST533
12.4.4 增加發(fā)出首部534
12.4.5 從請求提交表單數(shù)據(jù)535
12.4.6 上傳文件536
12.4.7 創(chuàng)建定制協(xié)議處理器539
12.5 Base64—用ASCII編碼二進制數(shù)據(jù)541
12.5.1 Base64編碼541
12.5.2 Base64解碼542
12.5.3 URL安全的變種543
12.5.4 其他編碼543
12.6 robotparser—網(wǎng)絡(luò)蜘蛛訪問控制544
12.6.1 robots.txt545
12.6.2 測試訪問權(quán)限545
12.6.3 長久蜘蛛546
12.7 Cookie—HTTP Cookie547
12.7.1 創(chuàng)建和設(shè)置Cookie547
12.7.2 Morsel548
12.7.3 編碼值550
12.7.4 接收和解析Cookie首部550
12.7.5 候選輸出格式551
12.7.6 廢棄的類552
12.8 uuid—全局惟一標識符552
12.8.1 UUID 1—IEEE 802 MAC地址552
12.8.2 UUID 3和5—基于名字的值554
12.8.3 UUID 4—隨機值556
12.8.4 處理UUID對象556
12.9 json—JavaScript對象記法557
12.9.1 編碼和解碼簡單數(shù)據(jù)類型557
12.9.2 優(yōu)質(zhì)輸出和緊湊輸出558
12.9.3 編碼字典560
12.9.4 處理定制類型561
12.9.5 編碼器和解碼器類563
12.9.6 處理流和文件565
12.9.7 混合數(shù)據(jù)流566
12.10 xmlrpclib—XML-RPC的客戶端庫567
12.10.1 連接服務(wù)器568
12.10.2 數(shù)據(jù)類型570
12.10.3 傳遞對象573
12.10.4 二進制數(shù)據(jù)573
12.10.5 異常處理575
12.10.6 將調(diào)用結(jié)合在一個消息中575
12.11 SimpleXMLRPCServer—一個XML-RPC服務(wù)器577
12.11.1 一個簡單的服務(wù)器577
12.11.2 備用API名578
12.11.3 加點的API名 579
12.11.4 任意API名580
12.11.5 公布對象的方法581
12.11.6 分派調(diào)用583
12.11.7 自省API584
第13章 Email587
13.1 smtplib—簡單郵件傳輸協(xié)議客戶587
13.1.1 發(fā)送Email消息587
13.1.2 認證和加密589
13.1.3 驗證Email地址592
13.2 smtpd—示例郵件服務(wù)器593
13.2.1 郵件服務(wù)器基類593
13.2.2 調(diào)試服務(wù)器595
13.2.3 代理服務(wù)器596
13.3 imaplib—IMAP4客戶庫596
13.3.1 變種597
13.3.2 連接到服務(wù)器597
13.3.3 示例配置598
13.3.4 列出郵箱599
13.3.5 郵箱狀態(tài)601
13.3.6 選擇郵箱602
13.3.7 搜索消息603
13.3.8 搜索規(guī)則604
13.3.9 獲取消息605
13.3.10 完整消息608
13.3.11 上傳消息609
13.3.12 移動和復(fù)制消息611
13.3.13 刪除消息612
13.4 mailbox—管理郵件歸檔614
13.4.1 mbox614
13.4.2 Maildir616
13.4.3 其他格式622
第14章 應(yīng)用構(gòu)建模塊623
14.1 getopt—命令行選項解析624
14.1.1 函數(shù)參數(shù)624
14.1.2 短格式選項624
14.1.3 長格式選項625
14.1.4 一個完整的例子625
14.1.5 縮寫長格式選項627
14.1.6 GNU選項解析627
14.1.7 結(jié)束參數(shù)處理629
14.2 optparse—命令行選項解析器629
14.2.1 創(chuàng)建OptionParser629
14.2.2 短格式和長格式選項630
14.2.3 用getopt比較631
14.2.4 選項值632
14.2.5 選項動作635
14.2.6 幫助消息639
14.3 argparse—命令行選項和參數(shù)解析644
14.3.1 與optparse比較644
14.3.2 建立解析器644
14.3.3 定義參數(shù)644
14.3.4 解析命令行645
14.3.5 簡單示例645
14.3.6 自動生成的選項652
14.3.7 解析器組織653
14.3.8 高級參數(shù)處理659
14.4 readline—GNU Readline庫666
14.4.1 配置667
14.4.2 完成文本668
14.4.3 訪問完成緩沖區(qū)670
14.4.4 輸入歷史674
14.4.5 hook676
14.5 getpass—安全密碼提示677
14.5.1 示例677
14.5.2 無終端使用getpass678
14.6 cmd—面向行的命令處理器679
14.6.1 處理命令680
14.6.2 命令參數(shù)681
14.6.3 現(xiàn)場幫助682
14.6.4 自動完成683
14.6.5 覆蓋基類方法684
14.6.6 通過屬性配置Cmd 686
14.6.7 運行shell命令687
14.6.8 候選輸入688
14.6.9 sys.argv的命令689
14.7 shlex—解析shell語法690
14.7.1 加引號的字符串691
14.7.2 嵌入注釋692
14.7.3 分解693
14.7.4 包含其他Token源693
14.7.5 控制解析器694
14.7.6 錯誤處理696
14.7.7 POSIX與非POSIX解析697
14.8 ConfigParser—處理配置文件698
14.8.1 配置文件格式699
14.8.2 讀取配置文件699
14.8.3 訪問配置設(shè)置701
14.8.4 修改設(shè)置705
14.8.5 保存配置文件706
14.8.6 選項搜索路徑707
14.8.7 用接合合并值709
14.9 日志—報告狀態(tài)、錯誤和信息消息712
14.9.1 應(yīng)用與庫中的日志記錄712
14.9.2 記入文件712
14.9.3 旋轉(zhuǎn)日志文件713
14.9.4 詳細級別714
14.9.5 命名日志記錄器實例715
14.10 fileinput—命令行過濾器框架716
14.10.1 M3U文件轉(zhuǎn)換為RSS716
14.10.2 進度元數(shù)據(jù)718
14.10.3 原地過濾719
14.11 atexit—程序關(guān)閉回調(diào)721
14.11.1 示例721
14.11.2 什么情況下不調(diào)用atexit函數(shù)722
14.11.3 處理異常724
14.12 sched—定時事件調(diào)度器725
14.12.1 有延遲地運行事件725
14.12.2 重疊事件726
14.12.3 事件優(yōu)先級727
14.12.4 取消事件727
第15章 國際化和本地化729
15.1 gettext—消息編目729
15.1.1 轉(zhuǎn)換工作流概述729
15.1.2 由源代碼創(chuàng)建消息編目730
15.1.3 運行時查找消息編目732
15.1.4 復(fù)數(shù)值733
15.1.5 應(yīng)用與模塊本地化735
15.1.6 切換轉(zhuǎn)換736
15.2 locale—文化本地化API736
15.2.1 探查當前本地化環(huán)境737
15.2.2 貨幣742
15.2.3 格式化數(shù)字742
15.2.4 解析數(shù)字743
15.2.5 日期和時間744
第16章 開發(fā)工具745
16.1 pydoc—模塊的聯(lián)機幫助746
16.1.1 純文本幫助746
16.1.2 HTML幫助746
16.1.3 交互式幫助746
16.2 doctest—通過文檔完成測試747
16.2.1 開始747
16.2.2 處理不可預(yù)測的輸出748
16.2.3 Traceback752
16.2.4 避開空白符753
16.2.5 測試位置758
16.2.6 外部文檔761
16.2.7 運行測試763
16.2.8 測試上下文766
16.3 unittest—自動測試框架769
16.3.1 基本測試結(jié)構(gòu)769
16.3.2 運行測試770
16.3.3 測試結(jié)果770
16.3.4 斷言真值772
16.3.5 測試相等性773
16.3.6 近似相等774
16.3.7 測試異常775
16.3.8 測試固件775
16.3.9 測試套件776
16.4 traceback—異常和棧軌跡777
16.4.1 支持函數(shù)777
16.4.2 處理異常777
16.4.3 處理棧780
16.5 cgitb—詳細的traceback報告783
16.5.1 標準traceback轉(zhuǎn)儲783
16.5.2 啟用詳細traceback783
16.5.3 traceback中的局部變量785
16.5.4 異常屬性787
16.5.5 HTML輸出788
16.5.6 記錄traceback789
16.6 pdb—交互式調(diào)試工具791
16.6.1 啟動調(diào)試工具791
16.6.2 控制調(diào)試工具794
16.6.3 斷點803
16.6.4 改變執(zhí)行流813
16.6.5 用別名定制調(diào)試工具819
16.6.6 保存配置設(shè)置821
16.7 trace—執(zhí)行程序流822
16.7.1 示例程序822
16.7.2 跟蹤執(zhí)行822
16.7.3 代碼覆蓋823
16.7.4 調(diào)用關(guān)系825
16.7.5 編程接口826
16.7.6 保存結(jié)果數(shù)據(jù)828
16.7.7 選項829
16.8 profile和pstats—性能分析830
16.8.1 運行性能分析工具830
16.8.2 在上下文中運行832
16.8.3 pstats:保存和處理統(tǒng)計信息833
16.8.4 限制報告內(nèi)容835
16.8.5 調(diào)用圖836
16.9 timeit—測量小段Python代碼的執(zhí)行時間837
16.9.1 模塊內(nèi)容837
16.9.2 基本示例837
16.9.3 值存儲在字典中838
16.9.4 從命令行執(zhí)行840
16.10 compileall—字節(jié)編譯源文件841
16.10.1 編譯一個目錄842
16.10.2 編譯sys.path842
16.10.3 從命令行執(zhí)行843
16.11 pyclbr—類瀏覽器843
16.11.1 掃描類845
16.11.2 掃描函數(shù)846
第17章 運行時特性847
17.1 site—全站點配置847
17.1.1 導(dǎo)入路徑847
17.1.2 用戶目錄849
17.1.3 路徑配置文件850
17.1.4 定制站點配置852
17.1.5 定制用戶配置853
17.1.6 禁用site模塊854
17.2 sys—系統(tǒng)特定的配置854
17.2.1 解釋器設(shè)置855
17.2.2 運行時環(huán)境860
17.2.3 內(nèi)存管理和限制862
17.2.4 異常處理867
17.2.5 底層線程支持869
17.2.6 模塊和導(dǎo)入875
17.2.7 跟蹤程序運行情況892
17.3 os—可移植訪問操作系統(tǒng)特定特性898
17.3.1 進程所有者898
17.3.2 進程環(huán)境900
17.3.3 進程工作目錄901
17.3.4 管道901
17.3.5 文件描述符905
17.3.6 文件系統(tǒng)權(quán)限905
17.3.7 目錄906
17.3.8 符號鏈接907
17.3.9 遍歷目錄樹907
17.3.10 運行外部命令909
17.3.11 用os.fork()創(chuàng)建進程910
17.3.12 等待子進程911
17.3.13 Spawn913
17.3.14 文件系統(tǒng)權(quán)限913
17.4 platform—系統(tǒng)版本信息914
17.4.1 解釋器915
17.4.2 平臺916
17.4.3 操作系統(tǒng)和硬件信息916
17.4.4 可執(zhí)行程序體系結(jié)構(gòu)918
17.5 resource—系統(tǒng)資源管理918
17.5.1 當前使用情況919
17.5.2 資源限制919
17.6 gc—垃圾回收器922
17.6.1 跟蹤引用922
17.6.2 強制垃圾回收925
17.6.3 查找無法收集的對象引用928
17.6.4 回收閾限和代931
17.6.5 調(diào)試933
17.7 sysconfig—解釋器編譯時配置940
17.7.1 配置變量940
17.7.2 安裝路徑942
17.7.3 Python版本和平臺945
第18章 語言工具947
18.1 warnings—非致命警告947
18.1.1 分類和過濾948
18.1.2 生成警告948
18.1.3 用模式過濾949
18.1.4 重復(fù)的警告951
18.1.5 候選消息傳送函數(shù)951
18.1.6 格式化952
18.1.7 警告中的棧層次952
18.2 abc—抽象基類953
18.2.1 為什么使用抽象基類953
18.2.2 抽象基類如何工作954
18.2.3 注冊一個具體類954
18.2.4 通過派生實現(xiàn)955
18.2.5 abc中的具體方法956
18.2.6 抽象屬性957
18.3 dis—Python字節(jié)碼反匯編工具960
18.3.1 基本反匯編961
18.3.2 反匯編函數(shù)961
18.3.3 類963
18.3.4 使用反匯編進行調(diào)試963
18.3.5 循環(huán)的性能分析965
18.3.6 編譯器優(yōu)化970
18.4 inspect—檢查現(xiàn)場對象972
18.4.1 示例模塊972
18.4.2 模塊信息973
18.4.3 檢查模塊974
18.4.4 檢查類975
18.4.5 文檔串 976
18.4.6 獲取源代碼977
18.4.7 方法和函數(shù)參數(shù)979
18.4.8 類層次結(jié)構(gòu)980
18.4.9 方法解析順序981
18.4.10 棧與幀982
18.5 exceptions—內(nèi)置異常類984
18.5.1 基類985
18.5.2 產(chǎn)生的異常985
18.5.3 警告類型998
第19章 模塊與包999
19.1 imp—Python的導(dǎo)入機制999
19.1.1 示例包999
19.1.2 模塊類型999
19.1.3 查找模塊1000
19.1.4 加載模塊1001
19.2 zipimport—從ZIP歸檔加載Python代碼1003
19.2.1 示例1003
19.2.2 查找模塊1004
19.2.3 訪問代碼1004
19.2.4 源代碼1005
19.2.5 包1006
19.2.6 數(shù)據(jù)1006
19.3 pkgutil—包工具1008
19.3.1 包導(dǎo)入路徑1008
19.3.2 包的開發(fā)版本1010
19.3.3 用PKG文件管理路徑1011
19.3.4 嵌套包1013
19.3.5 包數(shù)據(jù)1014