Python 在不斷進(jìn)化并且它的功能已經(jīng)延伸到IT運(yùn)維的方方面面队萤。本書將助力你運(yùn)用 Python 的最新功能編寫有效的腳本和創(chuàng)建命令行工具(使用數(shù)據(jù)類型寄锐、循環(huán)络断、條件語句汹碱、函數(shù)粘衬、錯(cuò)誤處理等等)來管理你的開發(fā)環(huán)境。本已收會圍繞整個(gè)開發(fā)過程咳促,從配置和規(guī)劃到自動(dòng)化測試和創(chuàng)建不同的命令行工具稚新。本書涵蓋了基礎(chǔ)腳本到標(biāo)準(zhǔn)庫Python包使用都所有常用知識。通過本書的學(xué)習(xí)跪腹,你將了解如何基于理想的資源規(guī)劃褂删、實(shí)施和發(fā)布項(xiàng)目,最終創(chuàng)建一個(gè)大型的腳本項(xiàng)目冲茸。
本書適用人群
本書適于了解 Python 編程基礎(chǔ)知識并有志于擴(kuò)展編程技巧來編寫命令行腳本和系統(tǒng)運(yùn)維管理的人學(xué)習(xí)屯阀。
要求有一定有 Python 編程知識。
本書涵蓋內(nèi)容
第一章 Python腳本概述:涵蓋Python的安裝流程以及Python解釋器工具的使用轴术。讀者將學(xué)習(xí)到如何為變量賦值以及對變量和字符串的介紹难衰。你還將學(xué)習(xí)到各有序、無序數(shù)據(jù)類型逗栽,包括列表(list)盖袭、元組(tuple)、集合(set)和字典(dictionary)。同時(shí)你還將學(xué)習(xí)到如何在腳本中解析命令行選項(xiàng)鳄虱。
第二章 Python腳本調(diào)試和性能測試:講解如何使用調(diào)試工具來對Python程序進(jìn)行調(diào)試弟塞。你還將學(xué)習(xí)如何進(jìn)行錯(cuò)誤處理,并深入性能測試(profiling)和耗時(shí)測試(timing)的概念拙已。
第三章 單元測試-單元測試框架的介紹:本章有關(guān) Python 中的單元測試宣肚。我們將對測試程序創(chuàng)建單元測試。
第四章 自動(dòng)化常規(guī)運(yùn)維活動(dòng):講解如何自動(dòng)化運(yùn)維管理員的常規(guī)運(yùn)維活動(dòng)悠栓。你將學(xué)習(xí)到接收輸入霉涨、處理密碼、外部命令的執(zhí)行惭适、讀取配置文件笙瑟、為腳本添加警告信息、實(shí)現(xiàn) CPU 限制癞志、網(wǎng)頁瀏覽器啟動(dòng)往枷、os模塊的使用以及進(jìn)行備份。
第五章 文件凄杯、目錄和數(shù)據(jù)處理:本章你將學(xué)習(xí)使用os模塊來處理各種活動(dòng)错洁。讀者會學(xué)習(xí)到數(shù)據(jù)以及應(yīng)用到數(shù)據(jù)上的一些方法,如復(fù)制戒突、剪切屯碴、合并和比較。還將學(xué)習(xí)tarfile模塊及如何及用這一模塊膊存。
第六章 文件存檔导而、加密和解密:研究文件存檔、創(chuàng)建存檔以及TAR和ZIP包的創(chuàng)建隔崎。還會學(xué)到如何使用應(yīng)用解壓縮.tar和.zip文件今艺。
第七章 文本處理和正則表達(dá)式:查看Python中的文本處理和正則表達(dá)式。Python中有一個(gè)很強(qiáng)大的稱為正則表達(dá)式的庫爵卒,可進(jìn)行搜索和提取數(shù)據(jù)等操作虚缎。本章還將學(xué)習(xí)對文件使用正則表達(dá)式,以及如何讀取和寫入文件钓株。
第八章 文檔和報(bào)告:講解如何使用Python生成文檔和報(bào)告信息实牡。將學(xué)習(xí)如何使用Python腳本來接收輸入,并在輸出中打印享幽。使用 Python我們可以編寫自動(dòng)化信息收集的腳本铲掐。在Python中編寫接收郵件的腳本也更為簡單拾弃。我們還將學(xué)習(xí)如何格式化信息值桩。
第九章 操作各類文件:本章將深入各類文件的處理,比如PDF文件豪椿、Excel和CSV文件奔坟。我們將學(xué)習(xí)使用Python來打開携栋、編輯文件并從這些文件中讀取信息。
第十章 網(wǎng)絡(luò)基礎(chǔ) - Socket編程:本章將首先介紹網(wǎng)絡(luò)基礎(chǔ)咳秉,然后我們會學(xué)習(xí)TCP婉支、UDP等socket。我們還將學(xué)習(xí)如何使用socket編程來通過HTTP和FTP等協(xié)議通訊和獲取信息澜建。
第十一章 使用Python腳本處理郵件:深入如何使用Python腳本來編寫和發(fā)送郵件向挖。發(fā)軟件編程中發(fā)送郵件是一項(xiàng)非常常見的任務(wù)。我們可以使用Python的smtplib模塊來在Python程序中發(fā)送郵件炕舵。本章中我們還會學(xué)習(xí)到在不服務(wù)器上發(fā)送郵件所使用的不同協(xié)議何之。
第十二章 使用Telnet和SSH遠(yuǎn)程監(jiān)控主機(jī):指導(dǎo)大家如何通過SSH協(xié)議來執(zhí)行服務(wù)器上的基本配置。我們將先通過使用Telnet模塊咽筋,然后使用更推薦的方法SSH來實(shí)現(xiàn)相同的配置溶推。
第十三章 創(chuàng)建圖形化用戶界面:講解使用PyQt模塊來創(chuàng)建圖形化用戶界面。
第十四章 處理Apache和其它的日志文件:講解如何處理Apache日志文件奸攻。我們還將學(xué)習(xí)日志解析應(yīng)用蒜危,即識別日志消息中的不同類型。本章還將學(xué)到如何解析這些文件以及如處理多文件睹耐、監(jiān)測各類異常辐赞、存儲數(shù)據(jù)和生成報(bào)告。
第十五章 SOAP和REST API通訊:著重SOAP和REST的基礎(chǔ)硝训,以及它們之間的區(qū)別占拍。我們還將學(xué)習(xí)SOAP API以及如何使用不同的庫來使用它。本章中還可學(xué)習(xí)到REST API及標(biāo)準(zhǔn)庫捎迫。
第十六章 網(wǎng)絡(luò)抓取 - 從網(wǎng)站上提取有用的信息:本章中講解如何使用Python 庫來從網(wǎng)站上提取數(shù)據(jù)晃酒。我們還將學(xué)習(xí)如何使用Python來搜索文章和源代碼。
第十七章 數(shù)據(jù)收集及報(bào)表:本章是有關(guān)科學(xué)計(jì)算中使用的高級Python庫的窄绒。這些庫有NumPy, SciPy和Matplotlib贝次。我們還將學(xué)習(xí)數(shù)據(jù)可視化的概念以及如何對數(shù)據(jù)制圖。
第十八章 MySQL和SQLite數(shù)據(jù)庫管理:本章中我們一起來看使用MySQL和SQLite的數(shù)據(jù)庫管理彰导。我們將學(xué)習(xí)這類管理的要求和設(shè)計(jì)蛔翅、如何修改插件框架以及如何編寫producer和consumer代碼。
有效使用本書
我們編寫這本書通過不同腳本來講解Python編程的不同方法位谋。但是要有效的了解這些內(nèi)容山析,你應(yīng)該:
- 有一個(gè)安裝并配置的好用于測試 /調(diào)試腳本的 Linux 系統(tǒng)
- 理解所創(chuàng)建的腳本
- 知曉每個(gè)腳本的組件
- 查看這些組件如何以新的方式復(fù)用或合并
在開啟本書之旅以前我們假定讀者有一定程度的 Python 知識,本書中將不會涉及這些基本技能掏父。它們包括:
- 如何安裝和配置Linux系統(tǒng)
- 如何安裝笋轨、方案和配置特定的Python IDE(雖然很多已經(jīng)在大多數(shù)Linux發(fā)行版本中包含了)
- 計(jì)算機(jī)和編程的基礎(chǔ)知識(雖然我們盡力提供一個(gè)快速的講解)
下載示例代碼
本書原作者的代碼包可通過 Packt的 GitHub 倉庫進(jìn)行獲取。如果代碼有任何更新,都會在 GitHub 的倉庫中進(jìn)行更新爵政。