- 論壇徽章:
- 32
|
這部書不錯(cuò)~
1.運(yùn)維開發(fā)為什么要用python?根據(jù)自己平時(shí)的使用心得,聊聊python的優(yōu)缺點(diǎn)。
為什么要用Python?因?yàn)镻ython易學(xué)又實(shí)用,寫得了腳本,又寫得了爬蟲,還寫得了網(wǎng)站,幾乎是全能!Python還可以配合nagios等監(jiān)控軟件使用,有很多nagios的插件都是用Python寫的,能力強(qiáng)的可以根據(jù)自己的需要寫Python來監(jiān)控。我的Python也才剛?cè)腴T,所以特別需要書籍來學(xué)習(xí),目前我主要對(duì)爬蟲比較感興趣,自己有空也會(huì)到論壇逛逛,學(xué)習(xí)一下別人寫爬蟲的方法,然后自己找些網(wǎng)站來練練手。Python的優(yōu)點(diǎn)就是易學(xué)、開源,語法優(yōu)美,沒有那么多的條條框框,第三方庫豐富,幾行代碼就實(shí)現(xiàn)別人幾百行代碼的功能,既可以用來做系統(tǒng)管理,也可以用來做網(wǎng)站,學(xué)得一般可以輔助運(yùn)維,學(xué)得好可以專門去找Python開發(fā)的工作了。當(dāng)然,人無完人,沒有一門語言是完美的,Python也不例外,Python的速度比C和C++這類語言來說,簡直就是渣,因?yàn)樗墙忉屝驼Z言,而C和C++是編譯型語言。
2.Python運(yùn)維腳本開發(fā)過程中應(yīng)該注意什么?
在給變量命名時(shí)應(yīng)該取一些顯而易見的名字,盡量少用一些令人丈二和尚摸不著頭腦的變量名,也不要和現(xiàn)有函數(shù)相同的名字。另外就是適當(dāng)?shù)慕o些注釋,腳本應(yīng)該面向?qū)ο笤O(shè)計(jì)。在開發(fā)過程中應(yīng)該不斷地調(diào)試腳本,一邊開發(fā)一邊調(diào)試,盡可能地將出錯(cuò)率降到最低。
3.如何運(yùn)用Python幫助運(yùn)維更好、更高質(zhì)量的完成運(yùn)維工作?可以舉例說明或用實(shí)際案例概括。
Python的第三方庫很豐富,我曾經(jīng)用Python寫過一個(gè)腳本,用于診斷部署在全球各地的服務(wù)器的端口狀態(tài),因?yàn)槟_本中包含敏感信息,所以這里這發(fā)出函數(shù)的部分:- import socket
- def IsOpen(ip,port):
- s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- try:
- s.connect((ip,int(port)))
- s.shutdown(2)
- return True
- except:
- return False
復(fù)制代碼 此外,我還寫過一個(gè)用pexcept實(shí)現(xiàn)的自動(dòng)應(yīng)答遠(yuǎn)程同步腳本?偠灾琍ython學(xué)得好確實(shí)對(duì)運(yùn)維很有幫助。 |
評(píng)分
-
查看全部評(píng)分
|