Python 運維常用模塊


基礎庫:sys、os(os.path、os.stat)、time、logging、prarmiko、re、random

Python運維常用的20個庫

1、psutil是一個跨平台庫(https://github.com/giampaolo/psutil
能夠實現獲取系統運行的進程和系統利用率(內存,CPU,磁盤,網絡等),主要用於系統監控,分析和系統資源及進程的管理。

2、IPy(http://github.com/haypo/python-ipy),輔助IP規划。

3、dnspython(http://dnspython.org)Python實現的一個DNS工具包。

4、difflib:difflib作為Python的標准模塊,無需安裝,作用是對比文本之間的差異。

5、filecmp:系統自帶,可以實現文件,目錄,遍歷子目錄的差異,對比功能。

6、smtplib:發送電子郵件模塊

7、pycurl(http://pycurl.sourceforge.net)是一個用C語言寫的libcurl Python實現,功能強大,支持的協議有:FTP,HTTP,HTTPS,TELNET等,可以理解為Linux下curl命令功能的Python封裝。(PS:PycURL在前幾天的文章里有提及過)

8、XlsxWriter:操作Excel工作表的文字,數字,公式,圖表等。

9、rrdtool:用於跟蹤對象的變化,生成這些變化的走走勢圖

10、scapy(http://www.wecdev.org/projects/scapy/)是一個強大的交互式數據包處理程序,它能夠對數據包進行偽造或解包,包括發送數據包,包嗅探,應答和反饋等功能。

11、Clam Antivirus免費開放源代碼防毒軟件,pyClamad,可以讓Python模塊直接使用ClamAV病毒掃描守護進程calmd。

12、pexpect:可以理解成Linux下expect的Python封裝,通過pexpect我們可以實現對ssh,ftp,passwd,telnet等命令行進行自動交互,而無需人工干涉來達到自動化的目的。

13、paramiko是基於Python實現的SSH2遠程安裝連接,支持認證及密鑰方式。可以實現遠程命令執行,文件傳輸,中間SSH代理等功能。相對於Pexpect,封裝的層次更高,更貼近SSH協議的功能,官網地址:http://paramiko.org(依賴:Crypto,Ecdsa,Python開發包python-devel)

14、fabric是基於Python實現的SSH命令行工具,簡化了SSH的應用程序部署及系統管理任務,它提供了系統基礎的操作組件,可以實現本地或遠程shell命令,包括命令執行,文件上傳,下載及完整執行日志輸出等功能。Fabric在paramiko的基礎上做了更高一層的封裝,操作起來更加簡單。官網地址:http://www.fabfile.org(依賴setuptools,Crypto,paramiko包支持)

15、CGIHTTPRequestHandler實現對CGI的支持。

16、ansible(http://www.ansibleworks.com/)一種集成IT系統的配置管理,應用部署,執行特定任務的開源平台。基於Python實現,由Paramiko和PyYAML兩個關鍵模塊構建。Ansibl與Saltstack最大的區別是Ansible無需在被控主機上部署任何客戶端,默認直接通過SSH通道進行遠程命令執行或下發功能。

17、YAML:是一種用來表達數據序列的編程語言。

18、playbook:一個非常簡單的配置管理和多主機部署系統。

19、saltstack(http://saltstack.com)是一個服務器基礎架構集中化管理平台,一般可以理解為簡化版的puppet和加強版的func。Saltstack基於Python語言實現,結合輕量級消息隊列ZeroMQ,與Python每三方模塊(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)構建。

20、func,為解決集群管理,監控問題需設計開發的系統管理基礎框架。

Python運維常用模塊

  • csv:對於讀取 csv 文件來說非常便利
  • collections:常見數據類型的實用擴展,包括 OrderedDictdefaultdict 和 namedtuple
  • random:生成假隨機數字,隨機打亂序列並選擇隨機項
  • string:關於字符串的更多函數。此模塊還包括實用的字母集合,例如 string.digits(包含所有字符都是有效數字的字符串)
  • re:通過正則表達式在字符串中進行模式匹配
  • math:一些標准數學函數
  • os:與操作系統交互
  • os.pathos 的子模塊,用於操縱路徑名稱
  • sys:直接使用 Python 解釋器
  • json:適用於讀寫 json 文件(面向網絡開發)

實用的第三方軟件包

    • IPython - 更好的交互式 Python 解釋器。
    • requests - 提供易於使用的方法來發出網絡請求。適用於訪問網絡 API。
    • Flask - 一個小型框架,用於構建網絡應用和 API。
    • Django - 一個功能更豐富的網絡應用構建框架。Django 尤其適合設計復雜、內容豐富的網絡應用。
    • Beautiful Soup - 用於解析 HTML 並從中提取信息。適合網頁數據抽取。
    • pytest - 擴展了 Python 的內置斷言,並且是最具單元性的模塊。
    • PyYAML - 用於讀寫 YAML 文件。
    • NumPy - 用於使用 Python 進行科學計算的最基本軟件包。它包含一個強大的 N 維數組對象和實用的線性代數功能等。
    • pandas - 包含高性能、數據結構和數據分析工具的庫。尤其是,pandas 提供 dataframe!
    • matplotlib - 二維繪制庫,會生成達到發布標准的高品質圖片,並且采用各種硬拷貝格式和交互式環境。
    • ggplot - 另一種二維繪制庫,基於 R’s ggplot2 庫。
    • Pillow - Python 圖片庫可以向你的 Python 解釋器添加圖片處理功能。
    • pyglet - 專門面向游戲開發的跨平台應用框架。
    • Pygame - 用於編寫游戲的一系列 Python 模塊。
    • pytz - Python 的世界時區定義。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM