Python 3標準庫( 簡體 字) | |
作者:[美] 道格·赫爾曼(Doug Hellmann) | 類別:1. -> 程式設計 -> Python |
出版社:機械工業出版社 | 3dWoo書號: 50014 詢問書籍請說出此書號! 有庫存 NT售價: 995 元 |
出版日:10/10/2018 | |
頁數:1084 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111608950 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
譯者序
前言 第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和f?ill 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 diff?lib:比較序列 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 函數與Struct類 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 fractions:有理數 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 tempf?ile:臨時文件系統對象 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 f?ilecmp:比較文件 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章 數據持久存儲與交換 310 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 dbm: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.etree.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 tarf?ile: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 zipf?ile: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 json: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.argv的命令 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 conf?igparser:處理配置文件 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 pdb:交互式調試工具 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 prof?ile和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 ensurepip:安裝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 gc:垃圾回收器 990 17.6.1 跟蹤引用 990 17.6.2 強制垃圾回收 992 17.6.3 查找無法回收的對象引用 993 17.6.4 回收閾值和代 995 17.6.5 調試 998 17.7 sysconf?ig:解釋器編譯時配置 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 在本書中,你會看到用來處理文本、數據類型、算法、數學計算、文件系統、網絡通信、Internet、XML、Email、加密、并發性、運行時和語言服務等各個方面的實用代碼和解決方案。在內容安排上,每一節都會全面介紹一個模塊,并提供一些很有價值的補充資源鏈接,這使得本書成為一本理想的Python標準庫參考手冊。
|