總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
寫給系統管理員的Python腳本編程指南(配件另行下載)
 作  者: (印度)甘尼什•桑吉夫•奈克
 出版單位: 人民郵電
 出版日期: 2020.01
 進貨日期: 2020/3/25
 ISBN: 9787115523662
 開  本: 16 開    
 定  價: 518
 售  價: 414
  會 員 價: 380
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

1.從基礎到高級編程,全面系統地介紹Python腳本在系統管理中的作用。
2.市場上少見的介紹將Python腳本應用於系統管理的圖書。
3.本書附有配套資源,幫助讀者學以致用,將所學應用到真實場景中。

隨著時間的推移,Python不斷發展並擴展了其與IT操作相關的功能。Python簡單易學,但具有功能強大的庫,可用於 編寫腳本以解決實際問題並自動執行管理員的日常活動。本書的目的是通過完成一系列項目,幫助讀者掌握在項目中使用Python腳本的方法。 本書首先介紹Python的安裝,並講解編程基礎知識。然後,本書將側重於解析整個開發過程,從配置到準備再到構建 不同的工具,包括IT管理員的日常活動(文本處理、正則表達式、文件存檔和加密)、網絡管理(套接字編程、電子郵 件處理、使用Telnet/SSH遠程控制設備以及SNMP/DHCP等協議)、創建圖形用戶界面、網站處理(Apache日誌 文件處理、SOAP和REST API通信、Web抓取),以及數據庫管理(MySQL和相似數據庫數據管理、數據分析和報告)。

學完本書,讀者將能夠使用Python功能構建強大的工具以解決具有挑戰性的實際任務。 讀者將學到以下內容: ■ 了解如何安裝Python和調試Python腳本;
■ 了解和編寫用於自動化測試和日常管理活動的腳本;
■ 了解如何編寫用於文本處理、加密、解密和歸檔的腳本;
■ 處理PDF、Excel、CSV和文本文件,並生成報告;
■ 編寫用於遠程網絡管理(包括處理電子郵件)的腳本;
■ 使用圖形用戶界面構建交互式工具;
■ 處理Apache日誌文件,以及SOAP和REST API的通信;
■ 自動化數據庫管理並執行統計分析。


內容簡介:

本書是一本介紹Python編程的進階圖書,包含了大量關於Python腳本設計的主題。本書共18章,首先帶領讀者快速復習Python基礎知識,然後循序漸進地介紹了一些實用主題,包括Python腳本的調試和分析、編寫單元測試、系統管理、處理文件和數據、文件歸檔以及文本處理等。然後介紹了網絡編程、處理電子郵件、遠程控制主機、創建圖形用戶界面、處理日誌文件、編寫網絡爬蟲、數據收集和可視化以及操作數據庫等更加高階的主題。本書中每一知識點都結合可以運行的源碼講解,幫助讀者更好地掌握Python腳本編程。 本書要求讀者具備Python的基礎知識,非常適合對Python編程有基本了解並且有興趣將編程技能擴展到命令行腳本和系統管理的讀者閱讀。


作者簡介:

Ganesh Sanjiv Naik 是嵌入式Android、嵌入式Linux、物聯網和ML相關產品開發的作者,顧問和企業培訓師。他在IT領域擁有20多年的經驗和項目成就。他曾擔任印度空間研究組織、英特爾、通用電氣、三星、摩托羅拉、檳城技能開發中心以及新加坡和印度的多家公司的企業培訓師。他創辦了一家名為Levana Technologies的公司,該公司與各組織合作進行咨詢和培訓活動。


圖書目錄:

第 1章 Python腳本編程概述 1

1.1 技術要求 2

1.2 為什麼選擇Python 2

1.3 Python語法的優勢 2

1.4 安裝Python 2

1.4.1 在Linux上安裝Python 2

1.4.2 在Windows上安裝Python 3

1.4.3 在Mac上安裝Python 3

1.4.4 安裝Jupyter Notebook 3

1.4.5 安裝並使用虛擬環境 4

1.4.6 安裝Geany和PyCharm 4

1.5 Python解釋器 5

1.5.1 Python和Bash有何區別 5

1.5.2 啟動交互式控制台 5

1.5.3 使用Python交互式控制台編寫腳本 5

1.5.4 多行模式 6

1.5.5 通過Python解釋器導入模塊 7

1.5.6 退出Python控制台 8

1.5.7 縮進和標籤 8

1.5.8 變量 9

1.5.9 數值 11

1.6 字符串 13

1.6.1 連接( )和重複(*) 14

1.6.2 字符串切片 14

1.6.3 訪問字符串中的值 15

1.6.4 更新字符串 15

1.6.5 轉義字符 15

1.6.6 字符串的特殊運算符 16

1.6.7 字符串格式化運算符 16

1.6.8 Python中的三引號 17

1.6.9 字符串是不可變的 18

1.7 理解列表 18

1.7.1 訪問列表中的值 19

1.7.2 更新列表 19

1.7.3 刪除列表元素 20

1.7.4 列表的基本操作 20

1.7.5 列表運算符 21

1.7.6 索引、切片和矩陣 21

1.8 元組 21

1.8.1 訪問元組的值 22

1.8.2 更新元組 23

1.8.3 刪除元組中的元素 23

1.8.4 元組的基本操作 23

1.8.5 索引、切片和矩陣 24

1.8.6 max()函數和min()函數 24

1.9 集合 25

1.10 字典 26

1.11 解析命令行參數 27

1.11.1 Python中的命令行參數 27

1.11.2 sys.argv 27

1.12 判斷語句 28

1.12.1 Python的if語句語法 28

1.12.2 Python的if…else語句語法 28

1.12.3 Python的if…elif…else語句語法 29

1.13 循環 30

1.13.1 for循環 30

1.13.2 range()函數 31

1.13.3 while循環 31

1.14 迭代器 32

1.15 生成器 33

1.16 函數 34

1.16.1 return語句 34

1.16.2 lambda函數 35

1.17 模塊 35

1.18 總結 36

1.19 問題 37



第 2章 調試和分析Python腳本程序 38

2.1 什麼是調試 38

2.2 錯誤處理(異常處理) 39

2.3 調試工具 41

2.3.1 pdb調試器 41

2.3.2 在解釋器中運行 42

2.3.3 在命令行中運行 43

2.3.4 在Python腳本中使用 43

2.4 調試基本程序崩潰的方法 44

2.5 分析程序並計時 45

2.5.1 cProfile模塊 45

2.5.2 timeit模塊 46

2.6 使程序運行得更快 47

2.7 總結 47

2.8 問題 48



第3章 單元測試框架簡介 49

3.1 什麼是unittest 49

3.2 創建單元測試 50

3.3 單元測試中的常用方法 51

3.4 總結 53

3.5 問題 53



第4章 自動化常規管理活動 54

4.1 通過重定向(redirection)、管道(pipe)和文件3種方式接收輸入 54

4.1.1 通過重定向接收輸入 55

4.1.2 通過管道接收輸入 55

4.1.3 通過文件接收輸入 56

4.2 在運行時處理密碼 57

4.3 執行外部命令並獲取其輸出 58

4.4 使用subprocess模塊捕獲輸出 59

4.5 在運行時提示輸入密碼,並驗證密碼 60

4.6 讀取配置文件 62

4.7 向腳本添加日誌記錄和警告代碼 63

4.8 限制CPU和內存的使用量 65

4.9 啟動網頁瀏覽器 66

4.10 使用os模塊處理目錄和文件 67

4.10.1 創建目錄與刪除目錄 67

4.10.2 檢測文件系統的內容 68

4.11 進行備份(使用rsync) 68

4.12 總結 70

4.13 問題 70



第5章 處理文件、目錄和數據 71

5.1 使用os模塊處理目錄 71

5.1.1 獲取工作目錄 72

5.1.2 更改目錄 72

5.1.3 列出文件和目錄 72

5.1.4 重命名目錄 72

5.2 複製、移動、重命名和刪除文件 73

5.2.1 複製文件 73

5.2.2 移動文件 74

5.2.3 重命名文件 74

5.2.4 刪除文件 74

5.3 使用路徑 75

5.4 比較數據 76

5.5 合併數據 78

5.6 用模式匹配文件和目錄 78

5.7 元數據:數據的數據 79

5.8 壓縮和解壓 80

5.9 使用tarfile模塊創建TAR文件 81

5.10 使用tarfile模塊查看TAR文件的內容 81

5.11 總結 82

5.12 問題 82



第6章 文件歸檔、加密和解密 84

6.1 創建和解壓歸檔文件 84

6.1.1 創建歸檔文件 84

6.1.2 解壓歸檔文件 85

6.2 TAR歸檔文件 86

6.3 創建ZIP文件 89

6.4 文件加密與解密 91

6.5 總結 93

6.6 問題 93



第7章 文本處理和正則表達式 94

7.1 文本包裝 94

7.1.1 wrap()函數 94

7.1.2 fill()函數 95

7.1.3 dedent()函數 96

7.1.4 indent()函數 97

7.1.5 shorten()函數 98

7.2 正則表達式 99

7.2.1 match()函數 101

7.2.2 search()函數 101

7.2.3 findall()函數 102

7.2.4 sub()函數 103

7.3 Unicode字符串 105

7.3.1 Unicode代碼點 106

7.3.2 編碼 107

7.3.3 解碼 107

7.3.4 避免UnicodeDecodeError 107

7.4 總結 108

7.5 問題 108



第8章 文檔和報告 110

8.1 標準輸入和輸出 110

8.2 字符串格式化 113

8.3 發送電子郵件 115

8.4 總結 118

8.5 問題 118



第9章 處理不同類型的文件 120

9.1 處理PDF文件 120

9.1.1 讀取PDF文件並獲取頁數 121

9.1.2 提取文本 121

9.1.3 旋轉PDF頁面 122

9.2 處理Excel文件 123

9.2.1 使用xlrd模塊 123

9.2.2 使用Pandas模塊 124

9.2.3 使用openpyxl模塊 126

9.3 處理CSV文件 129

9.3.1 讀取CSV文件 129

9.3.2 寫入CSV文件 130

9.4 處理文本文件 131

9.4.1 open()函數 131

9.4.2 close()函數 132

9.4.3 寫入文本文件 132

9.4.4 讀取文本文件 133

9.5 總結 134

9.6 問題 134



第 10章 網絡基礎—套接字編程 135

10.1 套接字 135

10.2 http程序包 137

10.2.1 http.client模塊 138

10.2.2 http.server模塊 140

10.3 ftplib模塊 140

10.3.1 下載文件 141

10.3.2 使用getwelcome()獲取歡迎信息 141

10.3.3 使用sendcmd()向服務器發送命令 142

10.4 urllib程序包 143

10.5 總結 144

10.6 問題 145



第 11章 使用Python腳本處理電子郵件 146

11.1 郵件消息格式 146

11.2 添加HTML和多媒體內容 147

11.3 POP3和IMAP服務器 150

11.3.1 使用poplib模塊接收電子郵件 150

11.3.2 使用imaplib模塊接收電子郵件 152

11.4 總結 153

11.5 問題 154



第 12章 通過Telnet和SSH遠程控制主機 155

12.1 telnetlib模塊 155

12.2 subprocess模塊 158

12.3 使用fabric模塊執行SSH 160

12.4 使用paramiko模塊執行SSH 161

12.5 使用netmiko模塊執行SSH 163

12.6 總結 165

12.7 問題 165



第 13章 創建圖形用戶界面 167

13.1 GUI簡介 167

13.2 使用程序庫創建基於GUI的應用程序 168

13.3 總結 170

13.4 問題 171



第 14章 使用Apache及其他類型的日誌文件 172

14.1 安裝並使用Apache Logs Viewer應用程序 172

14.2 解析複雜日誌文件 174

14.3 使用異常機制的必要性 177

14.4 解析不同文件的技巧 178

14.5 錯誤日誌 178

14.6 訪問日誌 179

14.7 解析其他日誌文件 180

14.8 總結 182

14.9 問題 183



第 15章 SOAP和RESTful API通信 184

15.1 什麼是SOAP 184

15.2 什麼是RESTful API 185

15.3 處理JSON數據 187

15.4 總結 190

15.5 問題 190



第 16章 網絡爬蟲——從網站中提取有用的數據 192

16.1 什麼是網絡爬蟲 192

16.2 數據提取 193

16.2.1 Requests庫 193

16.2.2 BeautifulSoup庫 193

16.3 從維基百科網站抓取信息 197

16.4 總結 198

16.5 問題 198



第 17章 統計信息的收集和報告 199

17.1 NumPy模塊 199

17.1.1 使用數組和標量 202

17.1.2 數組索引 204

17.1.3 通用函數 207

17.2 Pandas模塊 208

17.2.1 序列 209

17.2.2 數據幀 210

17.3 數據可視化 212

17.3.1 Matplotlib 212

17.3.2 Plotly 220

17.4 總結 226

17.5 問題 226



第 18章 MySQL和SQLite數據庫管理 228

18.1 MySQL數據庫管理 228

18.1.1 獲取數據庫版本號 231

18.1.2 創建表並插入數據 232

18.1.3 檢索數據 233

18.1.4 更新數據 234

18.1.5 刪除數據 235

18.2 SQLite數據庫管理 235

18.2.1 連接數據庫 236

18.2.2 創建表 237

18.2.3 插入數據 237

18.2.4 檢索數據 238

18.2.5 更新數據 239

18.2.6 刪除數據 240

18.3 總結 242

18.4 問題 242

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。