關(guān)于我們
書單推薦
新書推薦
|
Python編程快速上手 讓繁瑣工作自動(dòng)化 第2版
本書是一本面向初學(xué)者的Python編程實(shí)用指南。本書不僅介紹了Python語言的基礎(chǔ)知識(shí),而且通過案例實(shí)踐教讀者如何使用這些知識(shí)和技能。本書的第一部分介紹了基本的Python編程概念,第二部分介紹了一些不同的任務(wù),通過編寫Python程序,可以讓計(jì)算機(jī)自動(dòng)完成它們。第二部分的每一章都有一些項(xiàng)目程序供讀者學(xué)習(xí)。每章的末尾還提供了一些習(xí)題和深入的實(shí)踐項(xiàng)目,幫助讀者鞏固所學(xué)的知識(shí)。附錄部分提供了所有習(xí)題的解答。
Python編程從入門到實(shí)踐姊妹篇,零基礎(chǔ)自學(xué)Python教程書籍。
原版圖書美亞評(píng)分4.7星,被150+高校選用,初版譯著豆瓣評(píng)分8.9分!
1.暢銷書升級(jí)版,第1版累計(jì)銷售近20w冊(cè);
2.針對(duì)Python 3.X 版本更新,更新項(xiàng)目代碼;
3.掃碼看視頻,邊看邊學(xué),掃描書中二維碼,觀看為本書量身定制的教學(xué)視頻;
4.提供在線編程環(huán)境幫助讀者邊學(xué)邊練;
5.隨書贈(zèng)送本書e讀版電子書;
6.隨書贈(zèng)送全書思維導(dǎo)圖;
7.隨書贈(zèng)送本書習(xí)題答案;
8.提供本書源代碼;
9.隨書贈(zèng)送價(jià)值199元讀書會(huì)(直播+社群)互動(dòng)學(xué)習(xí);
10.隨書贈(zèng)送2000門視頻課程(非配套)、價(jià)值35000+元異步社區(qū) VIP 會(huì)員卡(非配套);
如果你曾經(jīng)花幾小時(shí)來重命名文件或更新成千上萬個(gè)電子表格的單元格,你就知道這樣的任務(wù)有多繁瑣了。如果可以讓計(jì)算機(jī)替你完成呢?
在本書中,你將學(xué)習(xí)利用Python編程在幾分鐘內(nèi)完成手動(dòng)需要幾小時(shí)的工作,無須事先具備編程經(jīng)驗(yàn)。通過閱讀本書,你會(huì)學(xué)習(xí)Python的基本知識(shí),探索Python豐富的模塊庫,并完成特定的任務(wù)(例如,從網(wǎng)站抓取數(shù)據(jù),讀取PDF和Word文檔等)。本書還包括有關(guān)輸入驗(yàn)證的實(shí)現(xiàn)方法,以及自動(dòng)更新CSV文件的技巧。一旦掌握了編程的基礎(chǔ)知識(shí),你就可以毫不費(fèi)力地創(chuàng)建Python程序,自動(dòng)化地完成很多繁瑣的工作,包括:
·在一個(gè)文件或多個(gè)文件中搜索并保存同類文本;
·創(chuàng)建、更新、移動(dòng)和重命名成百上千個(gè)文件和文件夾;
·下載搜索結(jié)果和處理Web在線內(nèi)容;
·快速地批量化處理電子表格;
·拆分、合并PDF文件,以及為其加水印和加密;
·向特定人群發(fā)送提醒郵件和文本通知;
·同時(shí)裁剪、調(diào)整、編輯成千上萬張圖片。
本書手把手地教你完成每個(gè)程序,并通過每章(除第1、2章外)末尾的實(shí)踐項(xiàng)目幫你改進(jìn)這些程序,使你能用所學(xué)的新技能來自動(dòng)化地完成類似的任務(wù)。
阿爾·斯維加特是一名專業(yè)的軟件開發(fā)者,他教小孩和成人編程。他為初學(xué)者寫了幾本Python圖書,包括《Python游戲編程快速上手》《Python密碼學(xué)編程》和《Python和Pygame游戲開發(fā)指南》等。
目 錄
第 一部分 Python編程基礎(chǔ)
第 1章 Python基礎(chǔ) 2
1.1 在交互式環(huán)境中輸入表達(dá)式 2
1.2 整型、浮點(diǎn)型和字符串?dāng)?shù)據(jù)類型 4
1.3 字符串連接和復(fù)制 5
1.4 在變量中保存值 6
1.4.1 賦值語句 6
1.4.2 變量名 7
1.5 第 一個(gè)程序 7
1.6 程序剖析 8
1.6.1 注釋 9
1.6.2 print()函數(shù) 9
1.6.3 input()函數(shù) 9
1.6.4 輸出用戶的名字 9
1.6.5 len()函數(shù) 10
1.6.6 str()、int()和float()函數(shù) 10
1.7 小結(jié) 13
1.8 習(xí)題 13
第 2章 控制流 15
2.1 布爾值 16
2.2 比較操作符 16
2.3 布爾操作符 18
2.3.1 二元布爾操作符 18
2.3.2 not操作符 19
2.4 混合布爾和比較操作符 19
2.5 控制流的元素 20
2.5.1 條件 20
2.5.2 代碼塊 20
2.6 程序執(zhí)行 20
2.7 控制流語句 21
2.7.1 if語句 21
2.7.2 else語句 22
2.7.3 elif語句 22
2.7.4 while循環(huán)語句 27
2.7.5 惱人的循環(huán) 29
2.7.6 break語句 30
2.7.7 continue語句 32
2.7.8 for循環(huán)和range()函數(shù) 34
2.7.9 等價(jià)的while循環(huán) 36
2.7.10 range()函數(shù)的開始、停止和步長(zhǎng)參數(shù) 36
2.8 導(dǎo)入模塊 37
2.9 用sys.exit()函數(shù)提前結(jié)束程序 38
2.10 小程序:猜數(shù)字 39
2.11 小程序:石頭、紙、剪刀 40
2.12 小結(jié) 43
2.13 習(xí)題 43
第3章 函數(shù) 45
3.1 def語句和參數(shù) 46
3.2 返回值和return語句 47
3.3 None值 48
3.4 關(guān)鍵字參數(shù)和print()函數(shù) 48
3.5 調(diào)用!49
3.6 局部和全局作用域 51
3.6.1 局部變量不能在全局作用域內(nèi)使用 52
3.6.2 局部作用域不能使用其他局部作用域內(nèi)的變量 52
3.6.3 全局變量可以在局部作用域中讀取 53
3.6.4 名稱相同的局部變量和全局變量 53
3.7 global語句 54
3.8 異常處理 56
3.9 小程序:Zigzag 57
3.10 小結(jié) 59
3.11 習(xí)題 59
3.12 實(shí)踐項(xiàng)目 59
3.12.1 Collatz序列 60
3.12.2 輸入驗(yàn)證 60
第4章 列表 61
4.1 列表數(shù)據(jù)類型 61
4.1.1 用索引取得列表中的單個(gè)值 61
4.1.2 負(fù)數(shù)索引 63
4.1.3 利用切片取得子列表 63
4.1.4 用len()函數(shù)取得列表的長(zhǎng)度 64
4.1.5 用索引改變列表中的值 64
4.1.6 列表連接和列表復(fù)制 64
4.1.7 用del語句從列表中刪除值 64
4.2 使用列表 65
4.2.1 列表用于循環(huán) 66
4.2.2 in和not in操作符 67
4.2.3 多重賦值技巧 67
4.2.4 enumerate()函數(shù)與列表一起使用 68
4.2.5 random.choice()和random.shuffle()函數(shù)與列表一起使用 68
4.3 增強(qiáng)的賦值操作 69
4.4 方法 69
4.4.1 用index()方法在列表中查找值 70
4.4.2 用append()和insert()方法在列表中添加值 70
4.4.3 用remove()方法從列表中刪除值 71
4.4.4 用sort()方法將列表中的值排序 71
4.4.5 使用reverse()方法反轉(zhuǎn)列表中的值 72
4.5 例子程序:神奇8球和列表 73
4.6 序列數(shù)據(jù)類型 74
4.6.1 可變和不可變數(shù)據(jù)類型 74
4.6.2 元組數(shù)據(jù)類型 76
4.6.3 用list()和tuple()函數(shù)來轉(zhuǎn)換類型 77
4.7 引用 77
4.7.1 標(biāo)識(shí)和id()函數(shù) 78
4.7.2 傳遞引用 79
4.7.3 copy模塊的copy()和deepcopy()函數(shù) 80
4.8 小程序:Conway的生命游戲 80
4.9 小結(jié) 84
4.10 習(xí)題 84
4.11 實(shí)踐項(xiàng)目 85
4.11.1 逗號(hào)代碼 85
4.11.2 擲硬幣的連勝 85
4.11.3 字符圖網(wǎng)格 86
第5章 字典和結(jié)構(gòu)化數(shù)據(jù) 87
5.1 字典數(shù)據(jù)類型 87
5.1.1 字典與列表 87
5.1.2 keys()、values()和items()方法 89
5.1.3 檢查字典中是否存在鍵或值 90
5.1.4 get()方法 90
5.1.5 setdefault()方法 91
5.2 美觀輸出 92
5.3 使用數(shù)據(jù)結(jié)構(gòu)對(duì)真實(shí)世界建!93
5.3.1 井字棋盤 93
5.3.2 嵌套的字典和列表 97
5.4 小結(jié) 98
5.5 習(xí)題 98
5.6 實(shí)踐項(xiàng)目 98
5.6.1 國際象棋字典驗(yàn)證器 98
5.6.2 好玩游戲的物品清單 99
5.6.3 列表到字典的函數(shù),針對(duì)好玩游戲的物品清單 99
第6章 字符串操作 101
6.1 處理字符串 101
6.1.1 字符串字面量 101
6.1.2 字符串索引和切片 103
6.1.3 字符串的in和not in操作符 104
6.2 將字符串放入其他字符串 104
6.3 有用的字符串方法 105
6.3.1 字符串方法upper()、lower()、isupper()和islower() 105
6.3.2 isX()字符串方法 106
6.3.3 字符串方法startswith()和endswith() 108
6.3.4 字符串方法join()和split() 108
6.3.5 使用partition()方法分隔字符串 109
6.3.6 用rjust()、ljust()和center()方法對(duì)齊文本 110
6.3.7 用strip()、rstrip()和lstrip()方法刪除空白字符 111
6.4 使用ord()和chr()函數(shù)的字符的數(shù)值 112
6.5 用pyperclip模塊復(fù)制粘貼字符串 112
6.6 項(xiàng)目:使用多剪貼板自動(dòng)回復(fù)消息 113
第 1步:程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu) 113
第 2步:處理命令行參數(shù) 114
第3步:復(fù)制正確的短語 114
6.7 項(xiàng)目:在Wiki標(biāo)記中添加無序列表 115
第 1步:從剪貼板中復(fù)制和粘貼 115
第 2步:分離文本中的行,并添加星號(hào) 116
第3步:連接修改過的行 116
6.8 小程序:Pig Latin 117
6.9 小結(jié) 120
6.10 習(xí)題 120
6.11 實(shí)踐項(xiàng)目 121
6.11.1 表格輸出 121
6.11.2 僵尸骰子機(jī)器人 122
第二部分 自動(dòng)化任務(wù)
第7章 模式匹配與正則表達(dá)式 126
7.1 不用正則表達(dá)式來查找文本模式 126
7.2 用正則表達(dá)式查找文本模式 128
7.2.1 創(chuàng)建正則表達(dá)式對(duì)象 128
7.2.2 匹配Regex對(duì)象 129
7.2.3 正則表達(dá)式匹配復(fù)習(xí) 129
7.3 用正則表達(dá)式匹配更多模式 130
7.3.1 利用括號(hào)分組 130
7.3.2 用管道匹配多個(gè)分組 131
7.3.3 用問號(hào)實(shí)現(xiàn)可選匹配 132
7.3.4 用星號(hào)匹配零次或多次 132
7.3.5 用加號(hào)匹配一次或多次 133
7.3.6 用花括號(hào)匹配特定次數(shù) 133
7.4 貪心和非貪心匹配 134
7.5 findall()方法 134
7.6 字符分類 135
7.7 建立自己的字符分類 136
7.8 插入字符和美元字符 136
7.9 通配字符 137
7.9.1 用點(diǎn)-星匹配所有字符 137
7.9.2 用句點(diǎn)字符匹配換行符 138
7.10 正則表達(dá)式符號(hào)復(fù)習(xí) 138
7.11 不區(qū)分大小寫的匹配 139
7.12 用sub()方法替換字符串 139
7.13 管理復(fù)雜的正則表達(dá)式 140
7.14 組合使用re.IGNORECASE、re.DOTALL和re.VERBOSE 140
7.15 項(xiàng)目:電話號(hào)碼和E-mail地址提取程序 141
第 1步:為電話號(hào)碼創(chuàng)建一個(gè)正則表達(dá)式 141
第 2步:為E-mail地址創(chuàng)建一個(gè)正則表達(dá)式 142
第3步:在剪貼板文本中找到所有匹配 143
第4步:將所有匹配連接成一個(gè)字符串,復(fù)制到剪貼板 143
第5步:運(yùn)行程序 144
第6步:類似程序的構(gòu)想 144
7.16 小結(jié) 144
7.17 習(xí)題 145
7.18 實(shí)踐項(xiàng)目 146
7.18.1 日期檢測(cè) 146
7.18.2 強(qiáng)口令檢測(cè) 146
7.18.3 strip()的正則表達(dá)式版本 147
第8章 輸入驗(yàn)證 148
8.1 PyInputPlus模塊 149
8.1.1 關(guān)鍵字參數(shù)min、max、greaterThan和lessThan 150
8.1.2 關(guān)鍵字參數(shù)blank 150
8.1.3 關(guān)鍵字參數(shù)limit、timeout和default 151
8.1.4 關(guān)鍵字參數(shù)allowRegexes和blockRegexes 151
8.1.5 將自定義驗(yàn)證函數(shù)傳遞給inputCustom() 152
8.2 項(xiàng)目:如何讓人忙幾個(gè)小時(shí) 153
8.3 項(xiàng)目:乘法測(cè)驗(yàn) 154
8.4 小結(jié) 156
8.5 習(xí)題 156
8.6 實(shí)踐項(xiàng)目 157
8.6.1 三明治機(jī) 157
8.6.2 編寫自己的乘法測(cè)驗(yàn) 157
第9章 讀寫文件 158
9.1 文件與文件路徑 158
9.1.1 Windows操作系統(tǒng)上的倒斜杠以及macOS和Linux操作系統(tǒng)上的正斜杠 159
9.1.2 使用/運(yùn)算符連接路徑 160
9.1.3 當(dāng)前工作目錄 161
9.1.4 主目錄 162
9.1.5 絕對(duì)路徑與相對(duì)路徑 162
9.1.6 用os.makedirs()創(chuàng)建新文件夾 163
9.1.7 處理絕對(duì)路徑和相對(duì)路徑 164
9.1.8 取得文件路徑的各部分 165
9.1.9 查看文件大小和文件夾內(nèi)容 167
9.1.10 使用通配符模式修改文件列表 168
9.1.11 檢查路徑的有效性 169
9.2 文件讀寫過程 170
9.2.1 用open()函數(shù)打開文件 171
9.2.2 讀取文件內(nèi)容 171
9.2.3 寫入文件 172
9.3 用shelve模塊保存變量 173
9.4 用pprint.pformat()函數(shù)保存變量 174
9.5 項(xiàng)目:生成隨機(jī)的測(cè)驗(yàn)試卷文件 175
第 1步:將測(cè)驗(yàn)數(shù)據(jù)保存在一個(gè)字典中 175
第 2步:創(chuàng)建測(cè)驗(yàn)文件,并打亂問題的次序 176
第3步:創(chuàng)建答案選項(xiàng) 177
第4步:將內(nèi)容寫入測(cè)驗(yàn)試卷和答案文件 178
9.6 項(xiàng)目:創(chuàng)建可更新的多重剪貼板 179
第 1步:注釋和shelf設(shè)置 179
第 2步:用一個(gè)關(guān)鍵字保存剪貼板內(nèi)容 180
第3步:列出關(guān)鍵字和加載關(guān)鍵字的內(nèi)容 180
9.7 小結(jié) 181
9.8 習(xí)題 181
9.9 實(shí)踐項(xiàng)目 182
9.9.1 擴(kuò)展多重剪貼板 182
9.9.2 瘋狂填詞 182
9.9.3 正則表達(dá)式查找 182
第 10章 組織文件 183
10.1 shutil模塊 183
10.1.1 復(fù)制文件和文件夾 183
10.1.2 文件和文件夾的移動(dòng)與重命名 184
10.1.3 永久刪除文件和文件夾 185
10.1.4 用send2trash模塊安全地刪除 186
10.2 遍歷目錄樹 186
10.3 用zipfile模塊壓縮文件 188
10.3.1 讀取ZIP文件 188
10.3.2 從ZIP文件中解壓縮 189
10.3.3 創(chuàng)建和添加到ZIP文件 189
10.4 項(xiàng)目:將帶有美國風(fēng)格日期的文件重命名為歐洲風(fēng)格日期 190
第 1步:為美國風(fēng)格的日期創(chuàng)建一個(gè)正則表達(dá)式 190
第 2步:識(shí)別文件名中的日期部分 191
第3步:構(gòu)成新文件名,并對(duì)文件重命名 192
第4步:類似程序的想法 192
10.5 項(xiàng)目:將一個(gè)文件夾備份到一個(gè)ZIP文件 193
第 1步:弄清楚ZIP文件的名稱 193
第 2步:創(chuàng)建新ZIP文件 194
第3步:遍歷目錄樹并添加到ZIP文件 194
第4步:類似程序的想法 195
10.6 小結(jié) 195
10.7 習(xí)題 196
10.8 實(shí)踐項(xiàng)目 196
10.8.1 選擇性復(fù)制 196
10.8.2 刪除不需要的文件 196
10.8.3 消除缺失的編號(hào) 196
第 11章 調(diào)試 197
11.1 拋出異常 197
11.2 取得回溯字符串 199
11.3 斷言 200
在交通燈模擬中使用斷言 201
11.4 日志 202
11.4.1 使用logging模塊 202
11.4.2 不要用print()調(diào)試 203
11.4.3 日志級(jí)別 204
11.4.4 禁用日志 204
11.4.5 將日志記錄到文件 205
11.5 Mu的調(diào)試器 205
11.5.1 Continue 206
11.5.2 Step In 206
11.5.3 Step Over 206
11.5.4 Step Out 206
11.5.5 Stop 206
11.5.6 調(diào)試一個(gè)數(shù)字相加的程序 207
11.5.7 斷點(diǎn) 208
11.6 小結(jié) 209
11.7 習(xí)題 209
11.8 實(shí)踐項(xiàng)目 210
第 12章 從Web抓取信息 211
12.1 項(xiàng)目:利用webbrowser模塊的mapIt.py 211
第 1步:弄清楚URL 212
第 2步:處理命令行參數(shù) 212
第3步:處理剪貼板內(nèi)容,加載瀏覽器 213
第4步:類似程序的想法 214
12.2 用requests模塊從Web下載文件 214
12.2.1 用requests.get()函數(shù)下載一個(gè)網(wǎng)頁 214
12.2.2 檢查錯(cuò)誤 215
12.3 將下載的文件保存到硬盤 216
12.4 HTML 217
12.4.1 學(xué)習(xí)HTML的資源 217
12.4.2 快速復(fù)習(xí) 217
12.4.3 查看網(wǎng)頁的HTML源代碼 218
12.4.4 打開瀏覽器的開發(fā)者工具 218
12.4.5 使用開發(fā)者工具來尋找HTML元素 219
12.5 用bs4模塊解析HTML 220
12.5.1 從HTML創(chuàng)建一個(gè)BeautifulSoup對(duì)象 221
12.5.2 用select()方法尋找元素 221
12.5.3 通過元素的屬性獲取數(shù)據(jù) 223
12.6 項(xiàng)目: 打開所有搜索結(jié)果 223
第1步:獲取命令行參數(shù),并請(qǐng)求查詢頁面 224
第 2步:找到所有的結(jié)果 224
第3步:針對(duì)每個(gè)結(jié)果打開Web瀏覽器 225
第4步:類似程序的想法 226
12.7 項(xiàng)目:下載所有XKCD漫畫 226
第 1步:設(shè)計(jì)程序 227
第 2步:下載網(wǎng)頁 228
第3步:尋找和下載漫畫圖像 228
第4步:保存圖像,找到前一張漫畫 229
第5步:類似程序的想法 230
12.8 用selenium模塊控制瀏覽器 230
12.8.1 啟動(dòng)selenium控制的瀏覽器 231
12.8.2 在頁面中尋找元素 232
12.8.3 單擊頁面 234
12.8.4 填寫并提交表單 234
12.8.5 發(fā)送特殊鍵 234
12.8.6 單擊瀏覽器按鈕 235
12.8.7 關(guān)于selenium的更多信息 235
12.9 小結(jié) 235
12.10 習(xí)題 236
12.11 實(shí)踐項(xiàng)目 236
12.11.1 命令行電子郵件程序 236
12.11.2 圖像網(wǎng)站下載 237
12.11.3 2048 237
12.11.4 鏈接驗(yàn)證 237
第 13章 處理Excel電子表格 238
13.1 Excel文檔 238
13.2 安裝openpyxl模塊 238
13.3 讀取Excel文檔 239
13.3.1 用openpyxl模塊打開Excel文檔 239
13.3.2 從工作簿中取得工作表 240
13.3.3 從表中取得單元格 240
13.3.4 列字母和數(shù)字之間的轉(zhuǎn)換 241
13.3.5 從表中取得行和列 242
13.3.6 工作簿、工作表、單元格 243
13.4 項(xiàng)目:從電子表格中讀取數(shù)據(jù) 244
第 1步:讀取電子表格數(shù)據(jù) 244
第 2步:填充數(shù)據(jù)結(jié)構(gòu) 245
第3步:將結(jié)果寫入文件 246
第4步:類似程序的思想 247
13.5 寫入Excel文檔 247
13.5.1 創(chuàng)建并保存Excel文檔 247
13.5.2 創(chuàng)建和刪除工作表 248
13.5.3 將值寫入單元格 248
13.6 項(xiàng)目:更新電子表格 249
第 1步:利用更新信息建立數(shù)據(jù)結(jié)構(gòu) 249
第 2步:檢查所有行,更新不正確的價(jià)格 250
第3步:類似程序的思想 251
13.7 設(shè)置單元格的字體風(fēng)格 251
13.8 Font對(duì)象 252
13.9 公式 253
13.10 調(diào)整行和列 253
13.10.1 設(shè)置行高和列寬 254
13.10.2 合并和拆分單元格 254
13.10.3 凍結(jié)窗格 255
13.10.4 圖表 256
13.11 小結(jié) 257
13.12 習(xí)題 258
13.13 實(shí)踐項(xiàng)目 258
13.13.1 乘法表 258
13.13.2 空行插入程序 259
13.13.3 電子表格單元格翻轉(zhuǎn)程序 259
13.13.4 文本文件到電子表格 260
13.13.5 電子表格到文本文件 260
第 14章 處理Google電子表格 261
14.1 安裝和設(shè)置EZSheets 261
14.1.1 獲取證書和令牌文件 261
14.1.2 撤銷證書文件 262
14.2 Spreadsheet對(duì)象 263
14.2.1 創(chuàng)建、上傳和列出電子表格 264
14.2.2 電子表格的屬性 265
14.2.3 下載和上傳電子表格 265
14.2.4 刪除電子表格 266
14.3 工作表對(duì)象 266
14.3.1 讀取和寫入數(shù)據(jù) 267
14.3.2 創(chuàng)建和刪除工作表 271
14.3.3 復(fù)制工作表 272
14.4 利用Google Sheets 配額 272
14.5 小結(jié) 273
14.6 習(xí)題 273
14.7 實(shí)踐項(xiàng)目 273
14.7.1 下載Google Forms數(shù)據(jù) 274
14.7.2 將電子表格轉(zhuǎn)換為其他格式 274
14.7.3 查找電子表格中的錯(cuò)誤 274
第 15章 處理PDF和Word文檔 275
15.1 PDF文檔 275
15.1.1 從PDF提取文本 275
15.1.2 解密PDF 277
15.1.3 創(chuàng)建PDF 277
15.2 項(xiàng)目:從多個(gè)PDF中合并選擇的頁面 281
第 1步:找到所有PDF文檔 281
第 2步:打開每個(gè)PDF文檔 282
第3步:添加每一頁 282
第4步:保存結(jié)果 283
第5步:類似程序的想法 283
15.3 Word文檔 284
15.3.1 讀取Word文檔 284
15.3.2 從.docx文檔中取得完整的文本 285
15.3.3 設(shè)置Paragraph和Run對(duì)象的樣式 286
15.3.4 創(chuàng)建帶有非默認(rèn)樣式的Word文檔 287
15.3.5 Run屬性 287
15.3.6 寫入Word文檔 288
15.3.7 添加標(biāo)題 290
15.3.8 添加換行符和換頁符 290
15.3.9 添加圖像 291
15.4 從Word文檔中創(chuàng)建PDF 291
15.5 小結(jié) 292
15.6 習(xí)題 292
15.7 實(shí)踐項(xiàng)目 293
15.7.1 PDF偏執(zhí)狂 293
15.7.2 定制邀請(qǐng)函,保存為Word文檔 293
15.7.3 蠻力PDF口令破解程序 294
第 16章 處理CSV文件和 JSON數(shù)據(jù) 295
16.1 csv模塊 295
16.1.1 reader對(duì)象 296
16.1.2 在for循環(huán)中,從reader對(duì)象讀取數(shù)據(jù) 297
16.1.3 writer對(duì)象 297
16.1.4 delimiter和lineterminator關(guān)鍵字參數(shù) 298
16.1.5 DictReader和DictWriter CSV對(duì)象 299
16.2 項(xiàng)目:從CSV文件中刪除標(biāo)題行 300
第 1步:循環(huán)遍歷每個(gè)CSV文件 301
第 2步:讀入CSV文件 301
第3步:寫入CSV文件,沒有第 一行 302
第4步:類似程序的想法 303
16.3 JSON和API 303
16.4 json模塊 304
16.4.1 用loads()函數(shù)讀取JSON 304
16.4.2 用dumps函數(shù)寫出JSON 304
16.5 項(xiàng)目:取得當(dāng)前的天氣數(shù)據(jù) 305
第 1步:從命令行參數(shù)獲取位置 305
第 2步:下載JSON數(shù)據(jù) 306
第3步:加載JSON數(shù)據(jù)并輸出天氣 307
第4步:類似程序的想法 308
16.6 小結(jié) 308
16.7 習(xí)題 308
16.8 實(shí)踐項(xiàng)目 309
第 17章 保持時(shí)間、計(jì)劃任務(wù)和啟動(dòng)程序 310
17.1 time模塊 310
17.1.1 time.time()函數(shù) 310
17.1.2 time.sleep()函數(shù) 311
17.2 數(shù)字四舍五入 312
17.3 項(xiàng)目:超級(jí)秒表 312
第 1步:設(shè)置程序來記錄時(shí)間 313
第 2步:記錄并輸出單圈時(shí)間 313
第3步:類似程序的想法 314
17.4 datetime模塊 314
17.4.1 timedelta數(shù)據(jù)類型 315
17.4.2 暫停直至特定日期 317
17.4.3 將datetime對(duì)象轉(zhuǎn)換為字符串 317
17.4.4 將字符串轉(zhuǎn)換成datetime對(duì)象 318
17.5 回顧Python的時(shí)間函數(shù) 318
17.6 多線程 319
17.6.1 向線程的目標(biāo)函數(shù)傳遞參數(shù) 321
17.6.2 并發(fā)問題 321
17.7 項(xiàng)目:多線程XKCD下載程序 322
第 1步:修改程序以使用函數(shù) 322
第 2步:創(chuàng)建并啟動(dòng)線程 323
第3步:等待所有線程結(jié)束 323
17.8 從Python啟動(dòng)其他程序 324
17.8.1 向Popen()傳遞命令行參數(shù) 325
17.8.2 Task Scheduler、launchd和cron 326
17.8.3 用Python打開網(wǎng)站 326
17.8.4 運(yùn)行其他Python腳本 326
17.8.5 用默認(rèn)的應(yīng)用程序打開文件 327
17.9 項(xiàng)目:簡(jiǎn)單的倒計(jì)時(shí)程序 327
第 1步:倒計(jì)時(shí) 328
第 2步:播放聲音文件 328
第3步:類似程序的想法 329
17.10 小結(jié) 329
17.11 習(xí)題 329
17.12 實(shí)踐項(xiàng)目 330
17.12.1 美化的秒表 330
17.12.2 計(jì)劃的Web漫畫下載 330
第 18章 發(fā)送電子郵件和短信 331
18.1 使用Gmail API發(fā)送和接收電子郵件 331
18.1.1 啟用Gmail API 332
18.1.2 從Gmail賬戶發(fā)送郵件 332
18.1.3 從Gmail賬戶讀取郵件 333
18.1.4 從Gmail賬戶中搜索郵件 334
18.1.5 從Gmail賬戶下載附件 335
18.2 SMTP 335
18.3 發(fā)送電子郵件 335
18.3.1 連接到SMTP服務(wù)器 336
18.3.2 發(fā)送SMTP的“Hello”消息 337
18.3.3 開始TLS加密 337
18.3.4 登錄到SMTP服務(wù)器 337
18.3.5 發(fā)送電子郵件 338
18.3.6 從SMTP服務(wù)器斷開 338
18.4 IMAP 338
18.5 用IMAP獲取和刪除電子郵件 339
18.5.1 連接到IMAP服務(wù)器 339
18.5.2 登錄到IMAP服務(wù)器 340
18.5.3 搜索電子郵件 340
18.5.4 取郵件并標(biāo)記為已讀 343
18.5.5 從原始消息中獲取電子郵件地址 344
18.5.6 從原始消息中獲取正文 344
18.5.7 刪除電子郵件 345
18.5.8 從IMAP服務(wù)器斷開 346
18.6 項(xiàng)目:向會(huì)員發(fā)送會(huì)費(fèi)提醒電子郵件 346
第 1步:打開Excel文件 346
第 2步:查找所有未支付會(huì)費(fèi)的成員 347
第3步:發(fā)送定制的電子郵件提醒 348
18.7 使用短信電子郵件網(wǎng)關(guān)發(fā)送短信 349
18.8 用Twilio發(fā)送短信 350
18.8.1 注冊(cè)Twilio賬號(hào) 350
18.8.2 發(fā)送短信 351
18.9 項(xiàng)目:“只給我發(fā)短信”模塊 352
18.10 小結(jié) 353
18.11 習(xí)題 354
18.12 實(shí)踐項(xiàng)目 354
18.12.1 隨機(jī)分配家務(wù)活的電子郵件程序 354
18.12.2 傘提醒程序 354
18.12.3 自動(dòng)退訂 354
18.12.4 通過電子郵件控制你的計(jì)算機(jī) 355
第 19章 操作圖像 356
19.1 計(jì)算機(jī)圖像基礎(chǔ) 356
19.1.1 顏色和RGBA值 356
19.1.2 坐標(biāo)和Box元組 357
19.2 用pillow操作圖像 358
19.2.1 處理Image數(shù)據(jù)類型 359
19.2.2 裁剪圖像 360
19.2.3 復(fù)制和粘貼圖像到其他圖像 361
19.2.4 調(diào)整圖像大小 363
19.2.5 旋轉(zhuǎn)和翻轉(zhuǎn)圖像 363
19.2.6 更改單個(gè)像素 365
19.3 項(xiàng)目:添加徽標(biāo) 366
第 1步:打開徽標(biāo)圖像 366
第 2步:遍歷所有文件并打開圖像 367
第3步:調(diào)整圖像的大小 368
第4步:添加徽標(biāo),并保存更改 369
第5步:類似程序的想法 370
19.4 在圖像上繪畫 370
19.4.1 繪制形狀 370
19.4.2 繪制文本 372
19.5 小結(jié) 373
19.6 習(xí)題 374
19.7 實(shí)踐項(xiàng)目 374
19.7.1 擴(kuò)展和修正本章項(xiàng)目的程序 374
19.7.2 在硬盤上識(shí)別照片文件夾 374
19.7.3 定制的座位卡 375
第 20章 用GUI自動(dòng)化控制鍵盤和鼠標(biāo) 376
20.1 安裝pyautogui模塊 376
20.2 在macOS上設(shè)置無障礙應(yīng)用程序 377
20.3 走對(duì)路 377
20.3.1 暫停和自動(dòng)防故障裝置 377
20.3.2 通過注銷關(guān)閉所有程序 377
20.4 控制鼠標(biāo)指針移動(dòng) 377
20.4.1 移動(dòng)鼠標(biāo)指針 378
20.4.2 獲取鼠標(biāo)指針位置 379
20.5 控制鼠標(biāo)交互 379
20.5.1 點(diǎn)擊鼠標(biāo) 380
20.5.2 拖動(dòng)鼠標(biāo) 380
20.5.3 滾動(dòng)鼠標(biāo) 382
20.6 規(guī)劃鼠標(biāo)運(yùn)動(dòng) 382
20.7 處理屏幕 383
20.7.1 獲取屏幕快照 383
20.7.2 分析屏幕快照 383
20.8 圖像識(shí)別 384
20.9 獲取窗口信息 385
20.9.1 獲取活動(dòng)窗口 386
20.9.2 獲取窗口的其他方法 387
20.9.3 操縱窗口 387
20.10 控制鍵盤 389
20.10.1 通過鍵盤發(fā)送一個(gè)字符串 389
20.10.2 鍵名 390
20.10.3 按下和釋放鍵盤按鍵 391
20.10.4 快捷鍵組合 391
20.11 設(shè)置GUI自動(dòng)化腳本 391
20.12 復(fù)習(xí)PyAutoGUI的函數(shù) 392
20.13 項(xiàng)目:自動(dòng)填表程序 393
第 1步:弄清楚步驟 394
第 2步:建立坐標(biāo) 395
第3步:開始輸入數(shù)據(jù) 396
第4步:處理選擇列表和單選按鈕 396
第5步:提交表單并等待 397
20.14 顯示消息框 398
20.15 小結(jié) 399
20.16 習(xí)題 399
20.17 實(shí)踐項(xiàng)目 400
20.17.1 看起來很忙 400
20.17.2 使用剪貼板讀取文本字段 400
20.17.3 即時(shí)通信機(jī)器人 401
20.17.4 玩游戲機(jī)器人指南 401
附錄A 安裝第三方模塊 402
A.1 pip工具 402
A.2 安裝第三方模塊 403
A.3 為Mu編輯器安裝模塊 404
附錄B 運(yùn)行程序 406
B.1 從命令行窗口運(yùn)行程序 406
B.2 在Windows操作系統(tǒng)上運(yùn)行Python程序 407
B.3 在macOS上運(yùn)行Python程序 408
B.4 在Ubuntu Linux操作系統(tǒng)上運(yùn)行Python程序 408
B.5 運(yùn)行Python程序時(shí)禁用斷言 409
你還可能感興趣
我要評(píng)論
|