python模組詳解 psutil

2022-04-10 06:57:17 字數 2906 閱讀 6179

目錄

psutil是乙個開源切跨平台的庫,其提供了便利的函式用來獲取才做系統的資訊,比如cpu,記憶體,磁碟,網路等。此外,psutil還可以用來進行程序管理,包括判斷程序是否存在、獲取程序列表、獲取程序詳細資訊等。而且psutil還提供了許多命令列工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。

psutil是乙個跨平台的庫,在官方**上查到其支援如下作業系統。

works with python versions from 2.6 to 3.x.

psutil包含了異常、類、功能函式和常量,其中功能函式用來獲取系統的資訊,如cpu、磁碟、記憶體、網路等。類用來實現程序的管理功能

函式描述

psutil.cpu_count()

cpu_count(,[logical]):預設返回邏輯cpu的個數,當設定logical的引數為false時,返回物理cpu的個數。

psutil.cpu_percent()

cpu_percent(,[percpu],[interval]):返回cpu的利用率,percpu為true時顯示所有物理核心的利用率,interval不為0時,則阻塞時顯示interval執行的時間內的平均利用率

psutil.cpu_times()

cpu_times(,[percpu]):以命名元組(namedtuple)的形式返回cpu的時間花費,percpu=true表示獲取每個cpu的時間花費

psutil.cpu_times_percent()

cpu_times_percent(,[percpu]):功能和cpu_times大致相同,看字面意思就能知道,該函式返回的是耗時比例。

psutil.cpu_stats()

cpu_stats()以命名元組的形式返回cpu的統計資訊,包括上下文切換,中斷,軟中斷和系統呼叫次數。

psutil.cpu_freq()

cpu_freq([percpu]):返回cpu頻率

函式  

描述virtual_memory()

獲取系統記憶體的使用情況,以命名元組的形式返回記憶體使用情況,包括總記憶體,可用記憶體,記憶體利用率,buffer和cache等。單位為位元組。

swap_memory()

獲取系統交換記憶體的統計資訊,以命名元組的形式返回swap/memory使用情況,包含swap中頁的換入和換出。

函式描述

psutil.disk_io_counters()

disk_io_counters([perdisk]):以命名元組的形式返回磁碟io統計資訊(彙總的),包括讀、寫的次數,讀、寫的位元組數等。

當perdisk的值為true,則分別列出單個磁碟的統計資訊(字典:key為磁碟名稱,value為統計的namedtuple)。

psutil.disk_partitions()

disk_partitions([all=false]):以命名元組的形式返回所有已掛載的磁碟,包含磁碟名稱,掛載點,檔案系統型別等資訊。

當all等於true時,返回包含/proc等特殊檔案系統的掛載資訊

psutil.disk_usage()

disk_usage(path):以命名元組的形式返回path所在磁碟的使用情況,包括磁碟的容量、已經使用的磁碟容量、磁碟的空間利用率等。

函式詳情

psutil.net_io_counter([pernic])

以命名元組的形式返回當前系統中每塊網絡卡的網路io統計資訊,包括收發位元組數,收發包的數量、出錯的情況和刪包情況。當pernic為true時,則列出所有網絡卡的統計資訊。

psutil.net_connections([kind])

以列表的形式返回每個網路連線的詳細資訊(namedtuple)。命名元組包含fd, family, type, laddr, raddr, status, pid等資訊。kind表示過濾的連線型別,支援的值如下:(預設為inet)

psutil.net_if_addrs()

以字典的形式返回網絡卡的配置資訊,包括ip位址和mac位址、子網掩碼和廣播位址。

psutil.net_if_stats()

返回網絡卡的詳細資訊,包括是否啟動、通訊型別、傳輸速度與mtu。

psutil還提供了作為程序管理的功能函式,包括獲取程序列表,判斷是否存在。

函式描述

psutil.pids()

以列表的形式返回當前正在執行的程序

psutil.pid_exists(1)

判斷給點定的pid是否存在

psutil.process_iter()

迭代當前正在執行的程序,返回的是每個程序的process物件

psutil.process( pid )

對程序進行封裝,可以使用該類的方法獲取進行的詳細資訊,或者給程序傳送訊號。傳入引數為pid

psutil.process( pid )獲取程序相關資訊的方法

函式

描述

psutil.sensors_temperatures(fahrenheit=false)

返回硬體的溫度

psutil.sensors_fans()

返回電池狀態

psutil.sensors_battery()

返回硬體風扇速度

psutil.users()

以命名元組的方式返回當前登陸使用者的資訊,包括使用者名稱,登陸時間,終端,與主機資訊

psutil.boot_time()

以時間戳的形式返回系統的啟動時間

python模組詳解

1.模組內容 模組可以包含可執行語句以及函式定義,可執行語句只有在第一次import或當作指令碼直接執行時才會執行。每個模組有自己的私有符號表,所以不會造成不同模組之間的變數汙染。2.匯入模組 模組匯入的三種方式 3.執行模組 執行的兩種方式 4.模組搜尋路徑 既然要匯入模組,直譯器就需要查詢匯入的...

python模組詳解 hashlib

用於加密相關的操作,在python3中替代了md5和sha模組,主要提供sha和md5演算法。md5import hashlib m hashlib.md5 呼叫md5方法 m.update b hello print m.digest b x8b x1a x99s xc4a x12 x96 xa8...

python模組詳解 shelve

shelve模組是乙個簡單的k,v 將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可以支援的python資料。簡單的說對 pickle的更上一層的封裝。寫檔案import shelve d shelve.open test4 這個檔案不用存在,執行自動生成 name hello chi...