Python標(biāo)準(zhǔn)庫(kù)

出版時(shí)間:2012-6-15  出版社:機(jī)械工業(yè)出版社華章公司  作者:Doug Hellmann  頁(yè)數(shù):1016  譯者:劉熾  
Tag標(biāo)簽:無(wú)  

前言

  序  今天是2010年的感恩節(jié)。不論人們是否身在美國(guó),在這個(gè)節(jié)日里,大家都一邊品嘗豐盛的食物,一邊欣賞橄欖球比賽,有些人可能會(huì)出門逛逛?! ?duì)我(以及其他很多人)來(lái)說(shuō),會(huì)借此機(jī)會(huì)回顧一下過(guò)去的歲月,想想那些讓我們的生活充滿色彩的人和事,向他們致以感謝。當(dāng)然,我們每天都該這么做,不過(guò)專門有一天來(lái)表達(dá)謝意有時(shí)會(huì)讓我們想得更深遠(yuǎn)一些?! ‖F(xiàn)在我坐在這里為本書寫序,非常感謝能有機(jī)會(huì)做這件事,不過(guò)我想到的不只是本書的內(nèi)容,也不只是作者本人(一個(gè)無(wú)比熱情的社區(qū)成員),我所想的是這個(gè)主題本身—Python,具體來(lái)講,還有它的標(biāo)準(zhǔn)庫(kù)?! ‘?dāng)前發(fā)布的每版Python都包含數(shù)百個(gè)模塊,它們是多年來(lái)多位開發(fā)人員針對(duì)多個(gè)主題和多個(gè)任務(wù)共同完成的。這些模塊涵蓋一切,從發(fā)送和接收Email,到GUI開發(fā),再到內(nèi)置的HTTP服務(wù)器都一應(yīng)俱全。就其本身而言,標(biāo)準(zhǔn)庫(kù)的開發(fā)和維護(hù)是一項(xiàng)極其龐大的工作。如果沒(méi)有多年來(lái)一直維護(hù)它的人們,沒(méi)有數(shù)以千計(jì)的人提交補(bǔ)丁、文檔和提供反饋,它絕不會(huì)成為今天的模樣。  這是一個(gè)驚人的成就,在Python日益普及的今天(不論是作為語(yǔ)言還是一種生態(tài)系統(tǒng)),標(biāo)準(zhǔn)庫(kù)已經(jīng)成為其中不可或缺的重要組成部分。如果沒(méi)有標(biāo)準(zhǔn)庫(kù),沒(méi)有核心團(tuán)隊(duì)和其他人員的“內(nèi)含動(dòng)力”(batteries included)口號(hào),Python絕對(duì)不可能走這么遠(yuǎn)。它已經(jīng)被成千上萬(wàn)的人和公司下載,并已安裝在數(shù)百萬(wàn)服務(wù)器、臺(tái)式機(jī)和其他設(shè)備上?! 〖词箾](méi)有標(biāo)準(zhǔn)庫(kù),Python仍是一種很不錯(cuò)的語(yǔ)言,在教學(xué)、學(xué)習(xí)和可讀性方面有扎實(shí)的基礎(chǔ)?;谶@些優(yōu)點(diǎn),它本身也能發(fā)展得足夠好。不過(guò)標(biāo)準(zhǔn)庫(kù)把它從一種有趣的體驗(yàn)變成為一個(gè)強(qiáng)大而有效的工具?! ∶恳惶?,全世界的開發(fā)人員都在構(gòu)建工具和完整的應(yīng)用,他們所基于的只是核心語(yǔ)言和標(biāo)準(zhǔn)庫(kù)。你不僅要能夠明確概念,描述汽車是什么(語(yǔ)言),還要得到足夠的部件和工具來(lái)自行組裝一輛基本的汽車。它可能并不完善,不過(guò)可以使你從無(wú)到有,這將是一個(gè)很好的獎(jiǎng)勵(lì),會(huì)賦予你巨大的動(dòng)力。我曾反復(fù)對(duì)那些驕傲地看著我的人說(shuō):“看看我構(gòu)建的應(yīng)用,除了Python提供的,其他的工具通通都沒(méi)有用到!”  不過(guò),標(biāo)準(zhǔn)庫(kù)也不是完美無(wú)缺的,它也有自己的缺陷。由于標(biāo)準(zhǔn)庫(kù)的規(guī)模、廣度和它的“年齡”,毫無(wú)疑問(wèn)有些模塊有不同層次的質(zhì)量、API簡(jiǎn)潔性和覆蓋性。有些模塊存在“特性蔓延”的問(wèn)題,或者無(wú)法跟進(jìn)其覆蓋領(lǐng)域中的最新進(jìn)展。通過(guò)眾多不計(jì)酬勞的志愿者的幫助和辛勤工作,Python還在繼續(xù)發(fā)展、壯大和改進(jìn)。  不過(guò),有些人對(duì)Python還有爭(zhēng)議,不僅由于它的缺點(diǎn),而且因?yàn)闃?biāo)準(zhǔn)庫(kù)并不一定構(gòu)成其模塊涵蓋領(lǐng)域中“最頂尖的”解決方案(畢竟,“最佳”是一個(gè)不斷改變和調(diào)整的目標(biāo)),因而認(rèn)為應(yīng)當(dāng)將它完全舍棄,盡管它還在不斷改善。這些人遺漏了一個(gè)事實(shí):標(biāo)準(zhǔn)庫(kù)不僅是促使Python不斷成功的一個(gè)重要組成部分,而且盡管存在瑕疵,它還是一個(gè)絕妙的資源?! 〔贿^(guò)我有意忽略了一個(gè)巨大的領(lǐng)域:文檔。標(biāo)準(zhǔn)庫(kù)的文檔很不錯(cuò),還在繼續(xù)改進(jìn)和發(fā)展。由于標(biāo)準(zhǔn)庫(kù)的龐大規(guī)模和廣度,相應(yīng)的文檔規(guī)模也很驚人。在數(shù)以千計(jì)的開發(fā)人員和用戶的努力下,我們有成百上千頁(yè)文檔,實(shí)在讓人佩服。每天都有數(shù)萬(wàn)人在使用這些文檔創(chuàng)建應(yīng)用—可能簡(jiǎn)單到只是一頁(yè)的腳本,也可能很復(fù)雜,比如控制大型機(jī)械手的軟件?! ≌怯捎谖臋n,我們才會(huì)看到本書。所有好的文檔和代碼都有一個(gè)起點(diǎn)—關(guān)于目標(biāo)“是什么”以及“將是什么”要有一個(gè)核心概念。從這個(gè)內(nèi)核出發(fā),才有了角色(API)和故事情節(jié)(模塊)。談到代碼,有時(shí)代碼會(huì)從一個(gè)簡(jiǎn)單的想法開始:“我想解析一個(gè)字符串,查找一個(gè)日期。”不過(guò)等結(jié)束時(shí),你可能已經(jīng)查看了數(shù)百個(gè)單元測(cè)試、函數(shù)以及你編寫的其他代碼,你會(huì)坐下來(lái),發(fā)現(xiàn)自己構(gòu)建的東西遠(yuǎn)遠(yuǎn)超出了原先的設(shè)想。文檔也是如此,特別是代碼文檔。  在我看來(lái),代碼文檔中最重要的部分就屬于這種例子。要寫有關(guān)一個(gè)API中某一部分的描述,你可能會(huì)寫上幾本書,可以用華麗的文字和經(jīng)過(guò)深思熟慮的用例來(lái)描述松耦合的接口。不過(guò),如果第一次查看這個(gè)描述的用戶無(wú)法將這些華麗的文字、仔細(xì)考量的用例和API簽名結(jié)合在一起,構(gòu)建出有意義的應(yīng)用并解決他們的問(wèn)題,這一切就完全是徒勞?! ∪藗兘⒅匾B接所用的網(wǎng)關(guān)也屬于這種例子,這些邏輯會(huì)從一個(gè)抽象概念跳轉(zhuǎn)到具體的事物。“了解”思想和API是一回事;知道它如何使用則是另外一回事。如果你不僅想要學(xué)到東西,還希望改善現(xiàn)狀,這會(huì)很有幫助?! ∵@就把我們重新引回Python。本書作者Doug Hellmann在2007年創(chuàng)建了一個(gè)名為“Python Module of the Week”的博客。在這個(gè)博客中,他全面研究了標(biāo)準(zhǔn)庫(kù)的眾多模塊,采用一種“示例為先”的方式介紹各個(gè)模塊如何工作以及為什么。從讀到它的第一天起,它就成為我除了核心Python文檔之外的又一個(gè)必訪之地。他的作品已經(jīng)成為我以及Python社區(qū)其他人不可缺少的必備資源。  Doug的文章填補(bǔ)了當(dāng)前我所看到的Python文檔的一個(gè)重大空白:對(duì)例子的迫切需求。用一種有效而簡(jiǎn)單的方式展示如何做以及為什么這么做,這絕非易事。我們已經(jīng)看到,這也是一項(xiàng)很重要、很有價(jià)值的工作,對(duì)人們每一天的工作都有幫助。人們頻繁地給我發(fā)郵件,告訴我:“你看過(guò)Doug的這個(gè)帖子嗎?實(shí)在太棒了!”或者“為什么這個(gè)不能放在核心文檔里呢?它能幫助我了解到底是怎么做的!”  當(dāng)我聽(tīng)說(shuō)Doug準(zhǔn)備花些時(shí)間進(jìn)一步完善他現(xiàn)有的工作,把它變成一本書,讓我能把它放在桌子上反復(fù)翻閱,以備急用,我真是太興奮了。Doug是一位非凡的技術(shù)作者,而且能敏銳地捕捉到細(xì)節(jié)。有一整本書專門講解實(shí)際例子,介紹標(biāo)準(zhǔn)庫(kù)中一百多個(gè)模塊是如何工作的,而且是他來(lái)寫這本書,實(shí)在讓我欣喜若狂。  所以,我要感謝Python,感謝標(biāo)準(zhǔn)庫(kù)(包括它的瑕疵),感謝我擁有的這個(gè)活力充沛有時(shí)也存在問(wèn)題的龐大Python社區(qū)。我要感謝核心開發(fā)小組的辛勤工作,包括過(guò)去、現(xiàn)在,還有將來(lái)。我還要感謝這么多社區(qū)成員提供的資源、投入的時(shí)間和做出的努力,其中Doug Hellmann更是卓越的代表,正是這些讓這個(gè)社區(qū)和生態(tài)系統(tǒng)如此生機(jī)勃勃?! ∽詈螅乙兄x本書。繼續(xù)向它的作者表示敬意,這本書會(huì)在未來(lái)幾年得到充分利用?! esse Noller  Python核心開發(fā)人員  PSF Board成員  Nasuni公司首席工程師

內(nèi)容概要

  本書由資深Python專家親自執(zhí)筆,Python語(yǔ)言的核心開發(fā)人員作序推薦,權(quán)威性毋庸置疑。
  對(duì)于程序員而言,標(biāo)準(zhǔn)庫(kù)與語(yǔ)言本身同樣重要,它好比一個(gè)百寶箱,能為各種常見(jiàn)的任務(wù)提供完美的解決方案,所以本書是所有Python程序員都必備的工具書!本書以案例驅(qū)動(dòng)的方式講解了標(biāo)準(zhǔn)庫(kù)中一百多個(gè)模塊的使用方法(如何工作)和工作原理(為什么要這樣工作),比標(biāo)準(zhǔn)庫(kù)的官方文檔更容易理解(一個(gè)簡(jiǎn)單的示例比一份手冊(cè)文檔更有幫助),為Python程序員熟練掌握和使用這些模塊提供了絕佳指導(dǎo)。
  全書一共19章,系統(tǒng)而全面地對(duì)Python標(biāo)準(zhǔn)庫(kù)中的一百多個(gè)模塊進(jìn)行了生動(dòng)的講解。這些模塊主要包括:文本處理工具模塊、與數(shù)據(jù)結(jié)構(gòu)相關(guān)的模塊、與算法有關(guān)的模塊、管理日期和時(shí)間值的模塊、用于數(shù)學(xué)計(jì)算的模塊、管理文件系統(tǒng)的模塊、用于數(shù)據(jù)存儲(chǔ)與交換的模塊、用于數(shù)據(jù)壓縮與歸檔的模塊、用于加密的模塊、...
(展開全部)   本書由資深Python專家親自執(zhí)筆,Python語(yǔ)言的核心開發(fā)人員作序推薦,權(quán)威性毋庸置疑。
  對(duì)于程序員而言,標(biāo)準(zhǔn)庫(kù)與語(yǔ)言本身同樣重要,它好比一個(gè)百寶箱,能為各種常見(jiàn)的任務(wù)提供完美的解決方案,所以本書是所有Python程序員都必備的工具書!本書以案例驅(qū)動(dòng)的方式講解了標(biāo)準(zhǔn)庫(kù)中一百多個(gè)模塊的使用方法(如何工作)和工作原理(為什么要這樣工作),比標(biāo)準(zhǔn)庫(kù)的官方文檔更容易理解(一個(gè)簡(jiǎn)單的示例比一份手冊(cè)文檔更有幫助),為Python程序員熟練掌握和使用這些模塊提供了絕佳指導(dǎo)。
  全書一共19章,系統(tǒng)而全面地對(duì)Python標(biāo)準(zhǔn)庫(kù)中的一百多個(gè)模塊進(jìn)行了生動(dòng)的講解。這些模塊主要包括:文本處理工具模塊、與數(shù)據(jù)結(jié)構(gòu)相關(guān)的模塊、與算法有關(guān)的模塊、管理日期和時(shí)間值的模塊、用于數(shù)學(xué)計(jì)算的模塊、管理文件系統(tǒng)的模塊、用于數(shù)據(jù)存儲(chǔ)與交換的模塊、用于數(shù)據(jù)壓縮與歸檔的模塊、用于加密的模塊、與進(jìn)程和線程相關(guān)的模塊、與網(wǎng)絡(luò)通信和Email相關(guān)的模塊、構(gòu)建模塊、支持處理多種自然語(yǔ)言和文化設(shè)置的模塊、開發(fā)工具模塊、與運(yùn)行時(shí)特性相關(guān)的模塊,等等?! ?/pre>

作者簡(jiǎn)介

  Doug Hellmann目前是Racemi公司的一位高級(jí)開發(fā)人員,也是Python
Software
Foundation的信息交流主管。從1.4版開始他就一直在做Python編程,曾在大量UNIX和非UNIX平臺(tái)上參與項(xiàng)目開發(fā),涉及領(lǐng)域包括地圖、醫(yī)療新聞播報(bào)、金融和數(shù)據(jù)中心自動(dòng)化。為《Python
Magazine》做了一年普通專欄作家后,他在2008—2009年成為這家雜志的主編。自2007年以來(lái),Doug在他的博客上發(fā)表了頗受關(guān)注的“Python
Module of the Week”系列。他居住在喬治亞州的Athens。

書籍目錄

譯者序

前言
第1章 文本
1.1 string—文本常量和模板
1.1.1 函數(shù)
1.1.2 模板
1.1.3 高級(jí)模板
1.2 textwrap—格式化文本段落
1.2.1 示例數(shù)據(jù)
1.2.2 填充段落
1.2.3 去除現(xiàn)有縮進(jìn)
1.2.4 結(jié)合dedent和fill
1.2.5 懸掛縮進(jìn)
1.3 re—正則表達(dá)式
1.3.1 查找文本中的模式
1.3.2 編譯表達(dá)式
1.3.3 多重匹配
1.3.4 模式語(yǔ)法
1.3.5 限制搜索
1.3.6 用組解析匹配
1.3.7 搜索選項(xiàng)
1.3.8 前向或后向
1.3.9 自引用表達(dá)式
1.3.10 用模式修改字符串
1.3.11 利用模式拆分
1.4 difflib—比較序列
1.4.1 比較文本體
1.4.2 無(wú)用數(shù)據(jù)
1.4.3 比較任意類型
第2章 數(shù)據(jù)結(jié)構(gòu)
2.1 collections—容器數(shù)據(jù)類型
2.1.1 Counter
2.1.2 defaultdict
2.1.3 deque
2.1.4 namedtuple
2.1.5 OrderedDict
2.2 array—固定類型數(shù)據(jù)序列
2.2.1 初始化
2.2.2 處理數(shù)組
2.2.3 數(shù)組與文件
2.2.4 候選字節(jié)順序
2.3 heapq—堆排序算法
2.3.1 示例數(shù)據(jù)
2.3.2 創(chuàng)建堆
2.3.3 訪問(wèn)堆的內(nèi)容
2.3.4 堆的數(shù)據(jù)極值
2.4 bisect—維護(hù)有序列表
2.4.1 有序插入
2.4.2 處理重復(fù)
2.5 Queue—線程安全的FIFO實(shí)現(xiàn)
2.5.1 基本FIFO隊(duì)列
2.5.2 LIFO隊(duì)列
2.5.3 優(yōu)先隊(duì)列
2.5.4 構(gòu)建一個(gè)多線程播客客戶程序
2.6 struct—二進(jìn)制數(shù)據(jù)結(jié)構(gòu)
2.6.1 函數(shù)與Struct類
2.6.2 打包和解包
2.6.3 字節(jié)序
2.6.4 緩沖區(qū)
2.7 weakref—對(duì)象的非永久引用
2.7.1 引用
2.7.2 引用回調(diào)
2.7.3 代理
2.7.4 循環(huán)引用
2.7.5 緩存對(duì)象
2.8 copy—復(fù)制對(duì)象
2.8.1 淺副本
2.8.2 深副本
2.8.3 定制復(fù)制行為
2.8.4 深副本中的遞歸
2.9 pprint—美觀打印數(shù)據(jù)結(jié)構(gòu)
2.9.1 打印
2.9.2 格式化
2.9.3 任意類
2.9.4 遞歸
2.9.5 限制嵌套輸出
2.9.6 控制輸出寬度
第3章 算法
3.1 functools—管理函數(shù)的工具
3.1.1 修飾符
3.1.2 比較
3.2 itertools—迭代器函數(shù)
3.2.1 合并和分解迭代器
3.2.2 轉(zhuǎn)換輸入
3.2.3 生成新值
3.2.4 過(guò)濾
3.2.5 數(shù)據(jù)分組
3.3 operator—內(nèi)置操作符的函數(shù)接口
3.3.1 邏輯操作
3.3.2 比較操作符
3.3.3 算術(shù)操作符
3.3.4 序列操作符
3.3.5 原地操作符
3.3.6 屬性和元素“獲取方法”
3.3.7 結(jié)合操作符和定制類
3.3.8 類型檢查
3.4 contextlib—上下文管理器工具
3.4.1 上下文管理器API
3.4.2 從生成器到上下文管理器
3.4.3 嵌套上下文
3.4.4 關(guān)閉打開的句柄
第4章 日期和時(shí)間
4.1 time—時(shí)鐘時(shí)間
4.1.1 壁掛鐘時(shí)間
4.1.2 處理器時(shí)鐘時(shí)間
4.1.3 時(shí)間組成
4.1.4 處理時(shí)區(qū)
4.1.5 解析和格式化時(shí)間
4.2 datetime—日期和時(shí)間值管理
4.2.1 時(shí)間
4.2.2 日期
4.2.3 timedelta
4.2.4 日期算術(shù)運(yùn)算
4.2.5 比較值
4.2.6 結(jié)合日期和時(shí)間
4.2.7 格式化和解析
4.2.8 時(shí)區(qū)
4.3 calendar—處理日期
4.3.1 格式化示例
4.3.2 計(jì)算日期
第5章 數(shù)學(xué)計(jì)算
5.1 decimal—定點(diǎn)數(shù)和浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算
5.1.1 Decimal
5.1.2 算術(shù)運(yùn)算
5.1.3 特殊值
5.1.4 上下文
5.2 fractions—有理數(shù)
5.2.1 創(chuàng)建 Fraction實(shí)例
5.2.2 算術(shù)運(yùn)算
5.2.3 近似值
5.3 random—偽隨機(jī)數(shù)生成器
5.3.1 生成隨機(jī)數(shù)
5.3.2 指定種子
5.3.3 保存狀態(tài)
5.3.4 隨機(jī)整數(shù)
5.3.5 選擇隨機(jī)元素
5.3.6 排列
5.3.7 采樣
5.3.8 多個(gè)并發(fā)生成器
5.3.9 SystemRandom
5.3.10 非均勻分布
5.4 math—數(shù)學(xué)函數(shù)
5.4.1 特殊常量
5.4.2 測(cè)試異常值
5.4.3 轉(zhuǎn)換為整數(shù)
5.4.4 其他表示
5.4.5 正號(hào)和負(fù)號(hào)
5.4.6 常用計(jì)算
5.4.7 指數(shù)和對(duì)數(shù)
5.4.8 角
5.4.9 三角函數(shù)
5.4.10 雙曲函數(shù)
5.4.11 特殊函數(shù)
第6章 文件系統(tǒng)
6.1 os.path—平臺(tái)獨(dú)立的文件名管理
6.1.1 解析路徑
6.1.2 建立路徑
6.1.3 規(guī)范化路徑
6.1.4 文件時(shí)間
6.1.5 測(cè)試文件
6.1.6 遍歷一個(gè)目錄樹
6.2 glob—文件名模式匹配
6.2.1 示例數(shù)據(jù)
6.2.2 通配符
6.2.3 單字符通配符
6.2.4 字符區(qū)間
6.3 linecache—高效讀取文本文件
6.3.1 測(cè)試數(shù)據(jù)
6.3.2 讀取特定行
6.3.3 處理空行
6.3.4 錯(cuò)誤處理
6.3.5 讀取Python源文件
6.4 tempfile—臨時(shí)文件系統(tǒng)對(duì)象
6.4.1 臨時(shí)文件
6.4.2 命名文件
6.4.3 臨時(shí)目錄
6.4.4 預(yù)測(cè)名
6.4.5 臨時(shí)文件位置
6.5 shutil—高級(jí)文件操作
6.5.1 復(fù)制文件
6.5.2 復(fù)制文件元數(shù)據(jù)
6.5.3 處理目錄樹
6.6 mmap—內(nèi)存映射文件
6.6.1 讀文件
6.6.2 寫文件
6.6.3 正則表達(dá)式
6.7 codecs—字符串編碼和解碼
6.7.1 Unicode入門
6.7.2 處理文件
6.7.3 字節(jié)序
6.7.4 錯(cuò)誤處理
6.7.5 標(biāo)準(zhǔn)輸入和輸出流
6.7.6 編碼轉(zhuǎn)換
6.7.7 非Unicode編碼
6.7.8 增量編碼
6.7.9 Unicode數(shù)據(jù)和網(wǎng)絡(luò)通信
6.7.10 定義定制編碼
6.8 StringIO—提供類文件API的文本緩沖區(qū)
6.9 fnmatch—UNIX式glob模式匹配
6.9.1 簡(jiǎn)單匹配
6.9.2 過(guò)濾
6.9.3 轉(zhuǎn)換模式
6.10 dircache—緩存目錄列表
6.10.1 列出目錄內(nèi)容
6.10.2 標(biāo)注列表
6.11 filecmp—比較文件
6.11.1 示例數(shù)據(jù)
6.11.2 比較文件
6.11.3 比較目錄
6.11.4 程序中使用差異
第7章 數(shù)據(jù)持久存儲(chǔ)與交換
7.1 pickle—對(duì)象串行化
7.1.1 導(dǎo)入
7.1.2 編碼和解碼字符串?dāng)?shù)據(jù)
7.1.3 處理流
7.1.4 重構(gòu)對(duì)象的問(wèn)題
7.1.5 不可pickle的對(duì)象
7.1.6 循環(huán)引用
7.2 shelve—對(duì)象持久存儲(chǔ)
7.2.1  創(chuàng)建一個(gè)新shelf
7.2.2 寫回
7.2.3 特定shelf類型
7.3 anydbm—DBM數(shù)據(jù)庫(kù)
7.3.1 數(shù)據(jù)庫(kù)類型
7.3.2 創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)
7.3.3 打開一個(gè)現(xiàn)有數(shù)據(jù)庫(kù)
7.3.4 錯(cuò)誤情況
7.4 whichdb—識(shí)別DBM數(shù)據(jù)庫(kù)格式
7.5 sqlite3—嵌入式關(guān)系數(shù)據(jù)庫(kù)
7.5.1 創(chuàng)建數(shù)據(jù)庫(kù)
7.5.2 獲取數(shù)據(jù)
7.5.3 查詢?cè)獢?shù)據(jù)
7.5.4 行對(duì)象
7.5.5 查詢中使用變量
7.5.6 批量加載
7.5.7 定義新列類型
7.5.8 確定列類型
7.5.9 事務(wù)
7.5.10 隔離級(jí)別
7.5.11 內(nèi)存中數(shù)據(jù)庫(kù)
7.5.12 導(dǎo)出數(shù)據(jù)庫(kù)內(nèi)容
7.5.13 SQL中使用Python函數(shù)
7.5.14 定制聚集
7.5.15 定制排序
7.5.16 線程和連接共享
7.5.17 限制對(duì)數(shù)據(jù)的訪問(wèn)
7.6 xml.etree.ElementTree—XML操縱API
7.6.1 解析XML文檔
7.6.2 遍歷解析樹
7.6.3 查找文檔中的節(jié)點(diǎn)
7.6.4 解析節(jié)點(diǎn)屬性
7.6.5 解析時(shí)監(jiān)視事件
7.6.6 創(chuàng)建一個(gè)定制樹構(gòu)造器
7.6.7 解析串
7.6.8 用元素節(jié)點(diǎn)構(gòu)造文檔
7.6.9 美觀打印XML
7.6.10 設(shè)置元素屬性
7.6.11 由節(jié)點(diǎn)列表構(gòu)造樹
7.6.12 將XML串行化至一個(gè)流
7.7 csv—逗號(hào)分隔值文件
7.7.1 讀文件
7.7.2 寫文件
7.7.3 方言
7.7.4 使用字段名
第8章 數(shù)據(jù)壓縮與歸檔
8.1 zlib—GNU zlib壓縮
8.1.1 處理內(nèi)存中數(shù)據(jù)
8.1.2 增量壓縮與解壓縮
8.1.3 混合內(nèi)容流
8.1.4 校驗(yàn)和
8.1.5 壓縮網(wǎng)絡(luò)數(shù)據(jù)
8.2 gzip—讀寫GNU Zip文件
8.2.1 寫壓縮文件
8.2.2 讀壓縮數(shù)據(jù)
8.2.3 處理流
8.3 bz2—bzip2壓縮
8.3.1 內(nèi)存中一次性操作
8.3.2 增量壓縮和解壓縮
8.3.3 混合內(nèi)容流
8.3.4 寫壓縮文件
8.3.5 讀壓縮文件
8.3.6 壓縮網(wǎng)絡(luò)數(shù)據(jù)
8.4 tarfile—Tar歸檔訪問(wèn)
8.4.1 測(cè)試Tar文件
8.4.2 從歸檔文件讀取元數(shù)據(jù)
8.4.3 從歸檔抽取文件
8.4.4 創(chuàng)建新歸檔
8.4.5 使用候選歸檔成員名
8.4.6 從非文件源寫數(shù)據(jù)
8.4.7 追加到歸檔
8.4.8 處理壓縮歸檔
8.5 zipfile—ZIP歸檔訪問(wèn)
8.5.1 測(cè)試ZIP文件
8.5.2 從歸檔讀取元數(shù)據(jù)
8.5.3 從歸檔抽取歸檔文件
8.5.4 創(chuàng)建新歸檔
8.5.5 使用候選歸檔成員名
8.5.6 從非文件源寫數(shù)據(jù)
8.5.7 利用ZipInfo實(shí)例寫
8.5.8 追加到文件
8.5.9 Python ZIP歸檔
8.5.10 限制
第9章 加密
9.1 hashlib—密碼散列
9.1.1 示例數(shù)據(jù)
9.1.2 MD5示例
9.1.3 SHA1示例
9.1.4 按名創(chuàng)建散列
9.1.5 增量更新
9.2 hmac—密碼消息簽名與驗(yàn)證
9.2.1 消息簽名
9.2.2 SHA與MD
9.2.3 二進(jìn)制摘要
9.2.4 消息簽名的應(yīng)用
第10章 進(jìn)程與線程
10.1 subprocess—?jiǎng)?chuàng)建附加進(jìn)程
10.1.1 運(yùn)行外部命令
10.1.2 直接處理管道
10.1.3 連接管道段
10.1.4 與其他命令交互
10.1.5 進(jìn)程間傳遞信號(hào)
10.2 signal—異步系統(tǒng)事件
10.2.1 接收信號(hào)
10.2.2 獲取注冊(cè)的處理程序
10.2.3 發(fā)送信號(hào)
10.2.4 鬧鈴
10.2.5 忽略信號(hào)
10.2.6 信號(hào)和線程
10.3 threading—管理并發(fā)操作
10.3.1 Thread對(duì)象
10.3.2 確定當(dāng)前線程
10.3.3 守護(hù)與非守護(hù)線程
10.3.4 列舉所有線程
10.3.5 派生線程
10.3.6 定時(shí)器線程
10.3.7 線程間傳送信號(hào)
10.3.8 控制資源訪問(wèn)
10.3.9 同步線程
10.3.10 限制資源的并發(fā)訪問(wèn)
10.3.11 線程特定數(shù)據(jù)
10.4 multiprocessing—像線程一樣管理進(jìn)程
10.4.1 multiprocessing基礎(chǔ)
10.4.2 可導(dǎo)入的目標(biāo)函數(shù)
10.4.3 確定當(dāng)前進(jìn)程
10.4.4 守護(hù)進(jìn)程
10.4.5 等待進(jìn)程
10.4.6 終止進(jìn)程
10.4.7 進(jìn)程退出狀態(tài)
10.4.8 日志
10.4.9 派生進(jìn)程
10.4.10 向進(jìn)程傳遞消息
10.4.11 進(jìn)程間信號(hào)傳輸
10.4.12 控制資源訪問(wèn)
10.4.13 同步操作
10.4.14 控制資源的并發(fā)訪問(wèn)
10.4.15 管理共享狀態(tài)
10.4.16 共享命名空間
10.4.17 進(jìn)程池
10.4.18 實(shí)現(xiàn)MapReduce
第11章 網(wǎng)絡(luò)通信
11.1 socket—網(wǎng)絡(luò)通信
11.1.1 尋址、協(xié)議簇和套接字類型
11.1.2 TCP/IP客戶和服務(wù)器
11.1.3 用戶數(shù)據(jù)報(bào)客戶和服務(wù)器
11.1.4 UNIX域套接字
11.1.5 組播
11.1.6 發(fā)送二進(jìn)制數(shù)據(jù)
11.1.7 非阻塞通信和超時(shí)
11.2 select—高效等待I/O
11.2.1 使用select()
11.2.2 有超時(shí)的非阻塞I/O
11.2.3 使用 poll()
11.2.4 平臺(tái)特定選項(xiàng)
11.3 SocketServer—?jiǎng)?chuàng)建網(wǎng)絡(luò)服務(wù)器
11.3.1 服務(wù)器類型
11.3.2 服務(wù)器對(duì)象
11.3.3 實(shí)現(xiàn)服務(wù)器
11.3.4 請(qǐng)求處理器
11.3.5 回應(yīng)示例
11.3.6 線程和進(jìn)程
11.4 asyncore—異步I/O
11.4.1 服務(wù)器
11.4.2 客戶
11.4.3 事件循環(huán)
11.4.4 處理其他事件循環(huán)
11.4.5 處理文件
11.5 asynchat—異步協(xié)議處理器
11.5.1 消息終止符
11.5.2 服務(wù)器和處理器
11.5.3 客戶
11.5.4 集成
第12章 Internet
12.1 urlparse—分解URL
12.1.1 解析
12.1.2 反解析
12.1.3 連接
12.2 BaseHTTPServer—實(shí)現(xiàn)Web服務(wù)器的基類
12.2.1 HTTP GET
12.2.2 HTTP POST
12.2.3 線程與進(jìn)程
12.2.4 處理錯(cuò)誤
12.2.5 設(shè)置首部
12.3 urllib—網(wǎng)絡(luò)資源訪問(wèn)
12.3.1 利用緩存實(shí)現(xiàn)簡(jiǎn)單獲取
12.3.2 參數(shù)編碼
12.3.3 路徑與URL
12.4 urllib2—網(wǎng)絡(luò)資源訪問(wèn)
12.4.1 HTTP GET
12.4.2 參數(shù)編碼
12.4.3 HTTP POST
12.4.4 增加發(fā)出首部
12.4.5 從請(qǐng)求提交表單數(shù)據(jù)
12.4.6 上傳文件
12.4.7 創(chuàng)建定制協(xié)議處理器
12.5 Base64—用ASCII編碼二進(jìn)制數(shù)據(jù)
12.5.1 Base64編碼
12.5.2 Base64解碼
12.5.3 URL安全的變種
12.5.4 其他編碼
12.6 robotparser—網(wǎng)絡(luò)蜘蛛訪問(wèn)控制
12.6.1 robots.txt
12.6.2 測(cè)試訪問(wèn)權(quán)限
12.6.3 長(zhǎng)久蜘蛛
12.7 Cookie—HTTP Cookie
12.7.1 創(chuàng)建和設(shè)置Cookie
12.7.2 Morsel
12.7.3 編碼值
12.7.4 接收和解析Cookie首部
12.7.5 候選輸出格式
12.7.6 廢棄的類
12.8 uuid—全局惟一標(biāo)識(shí)符
12.8.1 UUID 1—IEEE 802 MAC地址
12.8.2 UUID 3和5—基于名字的值
12.8.3 UUID 4—隨機(jī)值
12.8.4 處理UUID對(duì)象
12.9 json—JavaScript對(duì)象記法
12.9.1 編碼和解碼簡(jiǎn)單數(shù)據(jù)類型
12.9.2 優(yōu)質(zhì)輸出和緊湊輸出
12.9.3 編碼字典
12.9.4 處理定制類型
12.9.5 編碼器和解碼器類
12.9.6 處理流和文件
12.9.7 混合數(shù)據(jù)流
12.10 xmlrpclib—XML-RPC的客戶端庫(kù)
12.10.1 連接服務(wù)器
12.10.2 數(shù)據(jù)類型
12.10.3 傳遞對(duì)象
12.10.4 二進(jìn)制數(shù)據(jù)
12.10.5 異常處理
12.10.6 將調(diào)用結(jié)合在一個(gè)消息中
12.11 SimpleXMLRPCServer—一個(gè)XML-RPC服務(wù)器
12.11.1 一個(gè)簡(jiǎn)單的服務(wù)器
12.11.2 備用API名
12.11.3 加點(diǎn)的API名
12.11.4 任意API名
12.11.5 公布對(duì)象的方法
12.11.6 分派調(diào)用
12.11.7 自省API
第13章 Email
13.1 smtplib—簡(jiǎn)單郵件傳輸協(xié)議客戶
13.1.1 發(fā)送Email消息
13.1.2 認(rèn)證和加密
13.1.3 驗(yàn)證Email地址
13.2 smtpd—示例郵件服務(wù)器
13.2.1 郵件服務(wù)器基類
13.2.2 調(diào)試服務(wù)器
13.2.3 代理服務(wù)器
13.3 imaplib—IMAP4客戶庫(kù)
13.3.1 變種
13.3.2 連接到服務(wù)器
13.3.3 示例配置
13.3.4 列出郵箱
13.3.5 郵箱狀態(tài)
13.3.6 選擇郵箱
13.3.7 搜索消息
13.3.8 搜索規(guī)則
13.3.9 獲取消息
13.3.10 完整消息
13.3.11 上傳消息
13.3.12 移動(dòng)和復(fù)制消息
13.3.13 刪除消息
13.4 mailbox—管理郵件歸檔
13.4.1 mbox
13.4.2 Maildir
13.4.3 其他格式
第14章 應(yīng)用構(gòu)建模塊
14.1 getopt—命令行選項(xiàng)解析
14.1.1 函數(shù)參數(shù)
14.1.2 短格式選項(xiàng)
14.1.3 長(zhǎng)格式選項(xiàng)
14.1.4 一個(gè)完整的例子
14.1.5 縮寫長(zhǎng)格式選項(xiàng)
14.1.6 GNU選項(xiàng)解析
14.1.7 結(jié)束參數(shù)處理
14.2 optparse—命令行選項(xiàng)解析器
14.2.1 創(chuàng)建OptionParser
14.2.2 短格式和長(zhǎng)格式選項(xiàng)
14.2.3 用getopt比較
14.2.4 選項(xiàng)值
14.2.5 選項(xiàng)動(dòng)作
14.2.6 幫助消息
14.3 argparse—命令行選項(xiàng)和參數(shù)解析
14.3.1 與optparse比較
14.3.2 建立解析器
14.3.3 定義參數(shù)
14.3.4 解析命令行
14.3.5 簡(jiǎn)單示例
14.3.6 自動(dòng)生成的選項(xiàng)
14.3.7 解析器組織
14.3.8 高級(jí)參數(shù)處理
14.4 readline—GNU Readline庫(kù)
14.4.1 配置
14.4.2 完成文本
14.4.3 訪問(wèn)完成緩沖區(qū)
14.4.4 輸入歷史
14.4.5 hook
14.5 getpass—安全密碼提示
14.5.1 示例
14.5.2 無(wú)終端使用getpass
14.6 cmd—面向行的命令處理器
14.6.1 處理命令
14.6.2 命令參數(shù)
14.6.3 現(xiàn)場(chǎng)幫助
14.6.4 自動(dòng)完成
14.6.5 覆蓋基類方法
14.6.6 通過(guò)屬性配置Cmd
14.6.7 運(yùn)行shell命令
14.6.8 候選輸入
14.6.9 sys.argv的命令
14.7 shlex—解析shell語(yǔ)法
14.7.1 加引號(hào)的字符串
14.7.2 嵌入注釋
14.7.3 分解
14.7.4 包含其他Token源
14.7.5 控制解析器
14.7.6 錯(cuò)誤處理
14.7.7 POSIX與非POSIX解析
14.8 ConfigParser—處理配置文件
14.8.1 配置文件格式
14.8.2 讀取配置文件
14.8.3 訪問(wèn)配置設(shè)置
14.8.4 修改設(shè)置
14.8.5 保存配置文件
14.8.6 選項(xiàng)搜索路徑
14.8.7 用接合合并值
14.9 日志—報(bào)告狀態(tài)、錯(cuò)誤和信息消息
14.9.1 應(yīng)用與庫(kù)中的日志記錄
14.9.2 記入文件
14.9.3 旋轉(zhuǎn)日志文件
14.9.4 詳細(xì)級(jí)別
14.9.5 命名日志記錄器實(shí)例
14.10 fileinput—命令行過(guò)濾器框架
14.10.1 M3U文件轉(zhuǎn)換為RSS
14.10.2 進(jìn)度元數(shù)據(jù)
14.10.3 原地過(guò)濾
14.11 atexit—程序關(guān)閉回調(diào)
14.11.1 示例
14.11.2 什么情況下不調(diào)用atexit函數(shù)
14.11.3 處理異常
14.12 sched—定時(shí)事件調(diào)度器
14.12.1 有延遲地運(yùn)行事件
14.12.2 重疊事件
14.12.3 事件優(yōu)先級(jí)
14.12.4 取消事件
第15章 國(guó)際化和本地化
15.1 gettext—消息編目
15.1.1 轉(zhuǎn)換工作流概述
15.1.2 由源代碼創(chuàng)建消息編目
15.1.3 運(yùn)行時(shí)查找消息編目
15.1.4 復(fù)數(shù)值
15.1.5 應(yīng)用與模塊本地化
15.1.6 切換轉(zhuǎn)換
15.2 locale—文化本地化API
15.2.1 探查當(dāng)前本地化環(huán)境
15.2.2 貨幣
15.2.3 格式化數(shù)字
15.2.4 解析數(shù)字
15.2.5 日期和時(shí)間
第16章 開發(fā)工具
16.1 pydoc—模塊的聯(lián)機(jī)幫助
16.1.1 純文本幫助
16.1.2 HTML幫助
16.1.3 交互式幫助
16.2 doctest—通過(guò)文檔完成測(cè)試
16.2.1 開始
16.2.2 處理不可預(yù)測(cè)的輸出
16.2.3 Traceback
16.2.4 避開空白符
16.2.5 測(cè)試位置
16.2.6 外部文檔
16.2.7 運(yùn)行測(cè)試
16.2.8 測(cè)試上下文
16.3 unittest—自動(dòng)測(cè)試框架
16.3.1 基本測(cè)試結(jié)構(gòu)
16.3.2 運(yùn)行測(cè)試
16.3.3 測(cè)試結(jié)果
16.3.4 斷言真值
16.3.5 測(cè)試相等性
16.3.6 近似相等
16.3.7 測(cè)試異常
16.3.8 測(cè)試固件
16.3.9 測(cè)試套件
16.4 traceback—異常和棧軌跡
16.4.1 支持函數(shù)
16.4.2 處理異常
16.4.3 處理?xiàng)?br />16.5 cgitb—詳細(xì)的traceback報(bào)告
16.5.1 標(biāo)準(zhǔn)traceback轉(zhuǎn)儲(chǔ)
16.5.2 啟用詳細(xì)traceback
16.5.3 traceback中的局部變量
16.5.4 異常屬性
16.5.5 HTML輸出
16.5.6 記錄traceback
16.6 pdb—交互式調(diào)試工具
16.6.1 啟動(dòng)調(diào)試工具
16.6.2 控制調(diào)試工具
16.6.3 斷點(diǎn)
16.6.4 改變執(zhí)行流
16.6.5 用別名定制調(diào)試工具
16.6.6 保存配置設(shè)置
16.7 trace—執(zhí)行程序流
16.7.1 示例程序
16.7.2 跟蹤執(zhí)行
16.7.3 代碼覆蓋
16.7.4 調(diào)用關(guān)系
16.7.5 編程接口
16.7.6 保存結(jié)果數(shù)據(jù)
16.7.7 選項(xiàng)
16.8 profile和pstats—性能分析
16.8.1 運(yùn)行性能分析工具
16.8.2 在上下文中運(yùn)行
16.8.3 pstats:保存和處理統(tǒng)計(jì)信息
16.8.4 限制報(bào)告內(nèi)容
16.8.5 調(diào)用圖
16.9 timeit—測(cè)量小段Python代碼的執(zhí)行時(shí)間
16.9.1 模塊內(nèi)容
16.9.2 基本示例
16.9.3 值存儲(chǔ)在字典中
16.9.4 從命令行執(zhí)行
16.10 compileall—字節(jié)編譯源文件
16.10.1 編譯一個(gè)目錄
16.10.2 編譯sys.path
16.10.3 從命令行執(zhí)行
16.11 pyclbr—類瀏覽器
16.11.1 掃描類
16.11.2 掃描函數(shù)
第17章 運(yùn)行時(shí)特性
17.1 site—全站點(diǎn)配置
17.1.1 導(dǎo)入路徑
17.1.2 用戶目錄
17.1.3 路徑配置文件
17.1.4 定制站點(diǎn)配置
17.1.5 定制用戶配置
17.1.6 禁用site模塊
17.2 sys—系統(tǒng)特定的配置
17.2.1 解釋器設(shè)置
17.2.2 運(yùn)行時(shí)環(huán)境
17.2.3 內(nèi)存管理和限制
17.2.4 異常處理
17.2.5 底層線程支持
17.2.6 模塊和導(dǎo)入
17.2.7 跟蹤程序運(yùn)行情況
17.3 os—可移植訪問(wèn)操作系統(tǒng)特定特性
17.3.1 進(jìn)程所有者
17.3.2 進(jìn)程環(huán)境
17.3.3 進(jìn)程工作目錄
17.3.4 管道
17.3.5 文件描述符
17.3.6 文件系統(tǒng)權(quán)限
17.3.7 目錄
17.3.8 符號(hào)鏈接
17.3.9 遍歷目錄樹
17.3.10 運(yùn)行外部命令
17.3.11 用os.fork()創(chuàng)建進(jìn)程
17.3.12 等待子進(jìn)程
17.3.13 Spawn
17.3.14 文件系統(tǒng)權(quán)限
17.4 platform—系統(tǒng)版本信息
17.4.1 解釋器
17.4.2 平臺(tái)
17.4.3 操作系統(tǒng)和硬件信息
17.4.4 可執(zhí)行程序體系結(jié)構(gòu)
17.5 resource—系統(tǒng)資源管理
17.5.1 當(dāng)前使用情況
17.5.2 資源限制
17.6 gc—垃圾回收器
17.6.1 跟蹤引用
17.6.2 強(qiáng)制垃圾回收
17.6.3 查找無(wú)法收集的對(duì)象引用
17.6.4 回收閾限和代
17.6.5 調(diào)試
17.7 sysconfig—解釋器編譯時(shí)配置
17.7.1 配置變量
17.7.2 安裝路徑
17.7.3 Python版本和平臺(tái)
第18章 語(yǔ)言工具
18.1 warnings—非致命警告
18.1.1 分類和過(guò)濾
18.1.2 生成警告
18.1.3 用模式過(guò)濾
18.1.4 重復(fù)的警告
18.1.5 候選消息傳送函數(shù)
18.1.6 格式化
18.1.7 警告中的棧層次
18.2 abc—抽象基類
18.2.1 為什么使用抽象基類
18.2.2 抽象基類如何工作
18.2.3 注冊(cè)一個(gè)具體類
18.2.4 通過(guò)派生實(shí)現(xiàn)
18.2.5 abc中的具體方法
18.2.6 抽象屬性
18.3 dis—Python字節(jié)碼反匯編工具
18.3.1 基本反匯編
18.3.2 反匯編函數(shù)
18.3.3 類
18.3.4 使用反匯編進(jìn)行調(diào)試
18.3.5 循環(huán)的性能分析
18.3.6 編譯器優(yōu)化
18.4 inspect—檢查現(xiàn)場(chǎng)對(duì)象
18.4.1 示例模塊
18.4.2 模塊信息
18.4.3 檢查模塊
18.4.4 檢查類
18.4.5 文檔串
18.4.6 獲取源代碼
18.4.7 方法和函數(shù)參數(shù)
18.4.8 類層次結(jié)構(gòu)
18.4.9 方法解析順序
18.4.10 棧與幀
18.5 exceptions—內(nèi)置異常類
18.5.1 基類
18.5.2 產(chǎn)生的異常
18.5.3 警告類型
第19章 模塊與包
19.1 imp—Python的導(dǎo)入機(jī)制
19.1.1 示例包
19.1.2 模塊類型
19.1.3 查找模塊
19.1.4 加載模塊
19.2 zipimport—從ZIP歸檔加載Python代碼
19.2.1 示例
19.2.2 查找模塊
19.2.3 訪問(wèn)代碼
19.2.4 源代碼
19.2.5 包
19.2.6 數(shù)據(jù)
19.3 pkgutil—包工具
19.3.1 包導(dǎo)入路徑
19.3.2 包的開發(fā)版本
19.3.3 用PKG文件管理路徑
19.3.4 嵌套包
19.3.5 包數(shù)據(jù)

章節(jié)摘錄

版權(quán)頁(yè):   垂持久存儲(chǔ)數(shù)據(jù)以供長(zhǎng)期使用,這包括兩個(gè)方面:在對(duì)象的內(nèi)存中表示和存儲(chǔ)格式之間來(lái)回轉(zhuǎn)換數(shù)據(jù),以及處理轉(zhuǎn)換后數(shù)據(jù)的存儲(chǔ)區(qū)。標(biāo)準(zhǔn)庫(kù)包含很多模塊,可以在不同情況下處理這兩個(gè)方面。 有兩個(gè)模塊可以將對(duì)象轉(zhuǎn)換為一種可以傳輸或存儲(chǔ)的格式[這個(gè)過(guò)程稱為串行化(serializing)]。最常用的是使用pickle完成持久存儲(chǔ),因?yàn)樗梢耘c其他一些具體存儲(chǔ)串行化數(shù)據(jù)的標(biāo)準(zhǔn)庫(kù)模塊集成,如shelve。不過(guò)對(duì)基于Web的應(yīng)用,json則更為常用,因?yàn)樗芨玫嘏c現(xiàn)有Web服務(wù)存儲(chǔ)工具集成。 一旦將內(nèi)存中對(duì)象轉(zhuǎn)換為一種可以保存的格式,下一步就是確定如何存儲(chǔ)這個(gè)數(shù)據(jù)。如果數(shù)據(jù)不需要以某種方式索引,依序先后寫入串行化對(duì)象的簡(jiǎn)單平面文件就很適用。Python包括一組模塊可以在一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)中存儲(chǔ)鍵一值對(duì),需要索引查找時(shí)會(huì)使用某種變種DBM格式。 要利用DBM格式,最直接的方式就是shelve??梢源蜷_shelve文件,并通過(guò)一個(gè)類字典的API來(lái)訪問(wèn)。保存到數(shù)據(jù)庫(kù)的對(duì)象會(huì)自動(dòng)pickle并保存,而無(wú)須調(diào)用者做任何額外的工作。 不過(guò)shelve有一個(gè)缺點(diǎn),使用默認(rèn)接口時(shí),沒(méi)有辦法預(yù)測(cè)將使用哪一個(gè)DBM格式,因?yàn)樗鼤?huì)根據(jù)創(chuàng)建數(shù)據(jù)庫(kù)的系統(tǒng)上有哪些可用的庫(kù)來(lái)進(jìn)行選擇。如果應(yīng)用不需要在庫(kù)配置不同的主機(jī)之間共享數(shù)據(jù)庫(kù)文件,那么選擇哪種格式并不重要;不過(guò),如果必須保證可移植性,可以使用這個(gè)模塊中的某個(gè)類來(lái)確保選擇一個(gè)特定的格式。 對(duì)于Web應(yīng)用,由于這些應(yīng)用處理的就是JSON格式的數(shù)據(jù),因此使用json和anydbm可以提供另一種持久存儲(chǔ)機(jī)制。直接使用anydbm會(huì)比shelve稍微多做一些工作,因?yàn)镈BM數(shù)據(jù)庫(kù)鍵和值必須是字符串,而且在數(shù)據(jù)庫(kù)中訪問(wèn)值時(shí)不會(huì)自動(dòng)地重新創(chuàng)建對(duì)象。 大多數(shù)Python發(fā)布版本都提供了sqlite3進(jìn)程中關(guān)系數(shù)據(jù)庫(kù),可以采用比鍵一值對(duì)更復(fù)雜的組織來(lái)存儲(chǔ)數(shù)據(jù)。它將數(shù)據(jù)庫(kù)存儲(chǔ)在內(nèi)存中或者存儲(chǔ)在一個(gè)本地文件中,所有訪問(wèn)都來(lái)自同一個(gè)進(jìn)程,所以不存在網(wǎng)絡(luò)通信延遲。sqlite3的緊湊性使它尤其適合嵌入到桌面應(yīng)用或Web應(yīng)用的開發(fā)版本中。

編輯推薦

《Python標(biāo)準(zhǔn)庫(kù)》的讀者應(yīng)該是中等水平的Python程序員,所以盡管書中對(duì)所有源代碼都做了討論,但只有一部分會(huì)逐行給出解釋。每節(jié)會(huì)通過(guò)源代碼和完全獨(dú)立的示例程序的輸出來(lái)重點(diǎn)介紹一個(gè)模塊的特性。我會(huì)盡可能簡(jiǎn)潔地介紹各個(gè)特性,使讀者能夠把重點(diǎn)放在所展示的模塊或函數(shù)上,而不會(huì)因支持代碼而分心。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Python標(biāo)準(zhǔn)庫(kù) PDF格式下載


用戶評(píng)論 (總計(jì)75條)

 
 

  •   正好需要這方面的書,新華書店跑了幾次沒(méi)這本書,當(dāng)當(dāng)網(wǎng)上看到了就馬上買了,Python標(biāo)準(zhǔn)庫(kù)正在看,內(nèi)容很豐富,書的質(zhì)量也很好,感謝當(dāng)當(dāng)網(wǎng),全5分好評(píng)了。
  •   python的標(biāo)準(zhǔn)庫(kù)很好很多東西不用自己重寫了這本書就是介紹內(nèi)置電池的
  •   Python標(biāo)準(zhǔn)庫(kù),不止是標(biāo)準(zhǔn)庫(kù),還有很多實(shí)例的介紹,喜歡
  •   是很不錯(cuò)的工具書,做為python開發(fā)不可缺。
  •   書的質(zhì)量還不錯(cuò)。作為python的工具書,值得推薦。
  •   加上python語(yǔ)言簡(jiǎn)介就更好了
  •   PYTHON是國(guó)外流行的工具了,學(xué)習(xí)中
  •   打算好好學(xué)python,這是本好的工具書
  •   python必備的書
  •   學(xué)習(xí)python的必備書籍
  •   python中的牛津中階詞典
  •   我看了部分模塊的內(nèi)容,寫得例子是比較豐富的.不過(guò)還需要經(jīng)常用到,你才能熟練運(yùn)用這些模塊.
  •   學(xué)python,少不了這本大部頭
  •   買來(lái)看看還行的,最重要想看看標(biāo)準(zhǔn)庫(kù)設(shè)計(jì)理念
  •   不僅僅是一本羅列庫(kù)函數(shù)說(shuō)明的參考書,內(nèi)容很詳細(xì)的用法講解,同時(shí)包含大量樣例代碼,對(duì)于理解庫(kù)函數(shù)以及場(chǎng)景下的用法有很大的幫助。
  •   又是一本大部頭的書,結(jié)合著官方文檔來(lái)看相當(dāng)不錯(cuò),適合當(dāng)工具書來(lái)使用。
  •   庫(kù)是必須的
  •   標(biāo)準(zhǔn)的工具書, 放在手邊 查詢用。
  •   手冊(cè)書,工作必備
  •   懶得翻文檔,因?yàn)槿怯⑽?,傷不起啊,有本中文的多?/li>
  •   適合中高級(jí)的編程人員,書很權(quán)威。
  •   很全面的工具書,值得收藏。
  •   昨天到的,隨手翻了一下,內(nèi)容很充實(shí),好厚一本,大多數(shù)都有例子講解,非常詳細(xì)。
  •   示例詳細(xì),確實(shí)是一本好的參考書。
  •   很詳細(xì),當(dāng)工具書很實(shí)用
  •   買回來(lái)當(dāng)工具書用的,用到就翻翻。
  •   章節(jié)歸類很清晰,有大量的例子方便練習(xí)用。代碼風(fēng)格復(fù)合pep8,很不錯(cuò)的一本書
  •   不錯(cuò),正在看,很好的一本書
  •   不錯(cuò),一直想買,全新的,包裝很好。
  •   不錯(cuò)的枕邊書,沒(méi)事翻兩下,挺有感覺(jué)的
  •   作為研一學(xué)生
    感覺(jué)有點(diǎn)深
  •   頁(yè)面有壞損。
  •   好處:有例子,可以參考,diy 壞處:例子有錯(cuò)誤,沒(méi)有說(shuō)明函數(shù)原型,不太適合新手,如果能配合工程經(jīng)驗(yàn)和實(shí)際的函數(shù)解釋就更好了...
  •   內(nèi)容通俗易懂,作為參考的材料很不錯(cuò)。
  •   比想象的厚很多,看起來(lái)很舒服 不錯(cuò)
  •   很好,便宜,送貨速度也很快。。。
  •   書還在路上,相信不會(huì)錯(cuò)的,相信當(dāng)當(dāng)
  •   內(nèi)容比較豐富,都是用例子來(lái)講解,不會(huì)很枯燥。
  •   內(nèi)容比較新,要是更嚴(yán)謹(jǐn)一點(diǎn)更好!
  •   書店看的有貴 當(dāng)當(dāng)便宜一些。
  •   好,蠻全的,略厚
  •   非常全面的類庫(kù),說(shuō)的也非常詳細(xì)。python程序猿必備
  •   好書,是一些標(biāo)準(zhǔn)模塊的例子。不錯(cuò)。
  •   python的很好的工具書
  •   大量的庫(kù)函數(shù),很實(shí)用的。。。
  •   1000多頁(yè)啊 不知道里面的庫(kù)函數(shù)對(duì)我有用沒(méi)?
  •   很不錯(cuò)的一本書,之前還猶豫要不要買,但是既然想要在這方面深入的學(xué)的話那就果斷買吧。。
  •   現(xiàn)在正在用它
  •   以我現(xiàn)在的水平看來(lái),這書寫得不是很詳細(xì),看了第一章,關(guān)于模塊的,看得有點(diǎn)糊涂,以后可能會(huì)好點(diǎn)!這本書肯定不適合初級(jí)的程序員,要是對(duì)于那些有些底蘊(yùn)的人來(lái)說(shuō),可以參考參考!
  •   關(guān)于書本身,應(yīng)該比較詳細(xì),但不適合初學(xué),只適合工具書,不是很pythonic
  •   老公反映,還不錯(cuò)。對(duì)于專業(yè)從事這個(gè)行業(yè)的,以后要接項(xiàng)目,自己干的,需要充電,那就速速購(gòu)買吧!我不是打廣告的,賺吆喝。只是發(fā)表下言論!見(jiàn)仁見(jiàn)智吧!
  •   擦,買了才后悔,這么厚,當(dāng)字典用吧
  •   書不錯(cuò),但是給我送的書的第一頁(yè)是壞的,缺了一點(diǎn),不過(guò)不影響閱讀
  •   書的紙?zhí)?。你們tmd黑了良心了吧。拿出來(lái)看。兩面都透光的。要是光線強(qiáng)一點(diǎn)。都能看見(jiàn)背面的內(nèi)容。你們?cè)趺催@么坑爹啊。
  •   隨時(shí)看看很好的。它幾乎介紹了整個(gè)標(biāo)準(zhǔn)庫(kù)。翻譯什么的,也沒(méi)什么問(wèn)題吧?;蛟S是我現(xiàn)在還看沒(méi)幾頁(yè)。不過(guò)還是很好的一本Python書籍。
  •   年末的緣故吧,物流有點(diǎn)慢。書籍大致翻了下,還行吧。內(nèi)容還沒(méi)細(xì)看
  •   書很厚,講的很全面,每節(jié)都有例題。
  •   內(nèi)容很詳細(xì),紙張略差
  •   感覺(jué)書寫得很好,感有時(shí)候一個(gè)例子比一大堆描述更有用。送書的速度很快。
  •   賣家用匯通送的,收到之后,發(fā)現(xiàn)外觀有破損,懶得去折騰了。發(fā)票不是機(jī)打的,這個(gè)不太好吧。
  •   學(xué)python值得一看!
  •   這是一本很棒的參考書,有利于我的進(jìn)步
  •   有實(shí)例,講解也很簡(jiǎn)練,配合官方文檔相當(dāng)?shù)昧?/li>
  •   一章一章來(lái)看漸漸積累下來(lái)還是非常不錯(cuò)的,雖然和官方的文檔相比少了很多東西但是凸顯了主要的方法。相當(dāng)不錯(cuò),就是貴了點(diǎn),而且好厚…學(xué)生黨回家?guī)е懿环奖悖€好有英文的電子版
  •   書本身是好書. 但作為譯本. 應(yīng)非常明顯的寫上原本的版本, 不然容易造成誤會(huì)
  •   作為工具書來(lái)說(shuō),這本書還算不錯(cuò)的,當(dāng)字典用吧,
  •   內(nèi)容相當(dāng)豐富,對(duì)標(biāo)準(zhǔn)庫(kù)的用法示例全面又規(guī)范,非常不錯(cuò)的工具書,唯一缺憾是書封皮被撕開了一點(diǎn),算是白璧微瑕吧。另外推薦大家去Doug的pymotw.com/2/去轉(zhuǎn)轉(zhuǎn),會(huì)有意外驚喜。
  •   書印刷質(zhì)量還可以,內(nèi)容比較適合有一定基礎(chǔ)的人看。
  •   學(xué)Python還是要熟悉標(biāo)準(zhǔn)庫(kù)
  •   不過(guò)不知道hold住不
  •   全面。紙質(zhì)不錯(cuò)。有人說(shuō)有點(diǎn)薄,其實(shí)還OK,不然的話會(huì)更厚。
  •   Python標(biāo)準(zhǔn)庫(kù)
  •   python標(biāo)準(zhǔn)庫(kù)介紹
  •   書是好書,就是印書的紙質(zhì)很差
  •   很喜歡這本書啊啊
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7