欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用Psutil模塊實現(xiàn)獲取計算機相關信息

 更新時間:2023年11月01日 14:48:02   作者:0思必得0  
psutil 是一個跨平臺的庫,用于獲取進程和系統(tǒng)運行狀態(tài)的信息,這篇文章主要為大家詳細介紹了python如何調用psutil模塊實現(xiàn)獲取計算機相關信息,有需要的小伙伴可以了解下

psutil 是一個跨平臺的庫,用于獲取進程和系統(tǒng)運行狀態(tài)(CPU、內存、磁盤、網(wǎng)絡、傳感器)的信息。它主要用于系統(tǒng)監(jiān)視、分析和限制進程資源以及管理正在運行的進程。psutil 支持 Linux、Windows、macOS、FreeBSD、OpenBSD、NetBSD 和 Sun Solaris 等操作系統(tǒng)。

psutil 庫可以用來獲取以下信息:

  • 進程信息:包括進程ID、進程名稱、進程狀態(tài)等。
  • CPU信息:包括CPU數(shù)量、CPU使用率、每個CPU的使用率等。
  • 內存信息:包括總內存、已使用內存、空閑內存等。
  • 磁盤信息:包括磁盤使用率、磁盤IO等。
  • 網(wǎng)絡信息:包括網(wǎng)絡接口、網(wǎng)絡連接數(shù)等。
  • 傳感器信息:包括溫度、濕度等信息。

psutil 庫可以通過以下方式使用:

  • 獲取進程信息:可以使用 psutil.Process(pid) 方法獲取指定進程的信息,其中 pid 是進程ID。
  • 獲取系統(tǒng)信息:可以使用 psutil.virtual_memory() 和 psutil.cpu_percent(interval=1) 等方法獲取系統(tǒng)信息。
  • 監(jiān)控磁盤信息:可以使用 psutil.disk_usage(‘/’) 方法獲取磁盤使用率信息。
  • 監(jiān)控網(wǎng)絡信息:可以使用 psutil.net_io_counters() 方法獲取網(wǎng)絡IO信息。
  • 管理進程:可以使用 psutil.Process(pid).kill() 方法殺死指定進程。

總之,psutil庫是一個非常實用的庫,可以用來獲取系統(tǒng)和進程的詳細信息,并對進程進行管理。

查看操作系統(tǒng)相關信息

import psutil
from datetime import datetime

Users = psutil.users()  # 查看當前登錄的用戶信息,列表類型。包括:name: 用戶名  terminal: 終端  host: 主機地址  started: 登錄時間  pid: 進程id
BootTime = datetime.fromtimestamp(psutil.boot_time())  # 查看系統(tǒng)的啟動時間 2022-12-12 08:40:05

查看CPU相關信息

import psutil

CpuLogicCoreCount = psutil.cpu_count()  # CPU邏輯核心數(shù) '8'
CpuPhysicalCoreCount = psutil.cpu_count(logical=False)  # CPU物理核心數(shù) '4'
CPUPercent = psutil.cpu_percent(interval=1, percpu=True)  # CPU使用率,列表顯示,interval表示刷新間隔,列表中的元素代表每個CPU邏輯核心 [6.1, 1.5, 4.6, 7.7, 10.8, 1.5, 1.5, 1.5]
CPUFreq = psutil.cpu_freq()  # CPU頻率 scpufreq(current=3408.0, min=0.0, max=3408.0)

查看內存相關信息

import psutil
VirtualMemory = psutil.virtual_memory()  # 內存使用情況 svmem(total=8480059392, available=1381511168, percent=83.7, used=7098548224, free=1381511168) total: 總內存 available: 可用內存

查看硬盤存儲和IO相關信息

import psutil
DiskPartitions = psutil.disk_partitions(all=True)
"""
[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'),
 sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'),
 sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed')]
# 可以看到一共有三個盤符,fstype表示文件系統(tǒng)格式是NTFS,opts中的rw表示可讀寫
# 里面有一個參數(shù) all, 默認為 False, 如果指定為 True, 那么返回的內容還會包含 /proc 等特殊文件系統(tǒng)的掛載信息,由于我這里是 Windows, 所以兩者沒區(qū)別
"""
DiskUsage = psutil.disk_usage('C:')  # 磁盤使用情況 sdiskusage(total=84821807104, used=66361847808, free=18459959296, percent=78.2)
DiskIOCounters = psutil.disk_io_counters(perdisk=False)  # 磁盤IO統(tǒng)計信息 sdiskio(read_count=4612339, write_count=1834298, read_bytes=116422007808, write_bytes=61427764224, read_time=12831, write_time=4321)
"""
read_count: 讀次數(shù)                     write_count: 寫次數(shù)
read_bytes: 讀的字節(jié)數(shù)                 write_bytes: 寫的字節(jié)數(shù)
read_time: 讀時間                      write_time: 寫時間
默認返回的是所有磁盤加起來的統(tǒng)計信息,我們可以指定 perdisk=True,則分別列出每一個磁盤的統(tǒng)計信息。
"""

查看網(wǎng)絡相關信息

import psutil
NetIOCounters = psutil.net_io_counters(pernic=False)  # 網(wǎng)絡 IO 統(tǒng)計信息 snetio(bytes_sent=873520263, bytes_recv=311085337, packets_sent=1091582, packets_recv=1259384, errin=0, errout=0, dropin=0, dropout=0)
"""
# bytes_sent: 發(fā)送的字節(jié)數(shù)
# bytes_recv: 接收的字節(jié)數(shù)
# packets_sent: 發(fā)送的包數(shù)據(jù)量
# packets_recv: 接收的包數(shù)據(jù)量
# errin: 接收包時, 出錯的次數(shù)
# errout: 發(fā)送包時, 出錯的次數(shù)
# dropin: 接收包時, 丟棄的次數(shù)
# dropout: 發(fā)送包時, 丟棄的次數(shù)
里面還有一個 pernic 參數(shù), 如果為 True, 則列出所有網(wǎng)卡的信息
"""
NetIfAddrs = psutil.net_if_addrs()  # 以字典的形式返回網(wǎng)卡的配置信息, 包括 IP 地址、Mac地址、子網(wǎng)掩碼、廣播地址等等
"""
{'Loopback Pseudo-Interface 1': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None),
                         snicaddr(family=<AddressFamily.AF_INET6: 23>, address='::1', netmask=None, broadcast=None, ptp=None)],
 '本地連接': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='10-E7-C6-2D-AB-2C', netmask=None, broadcast=None, ptp=None),
  snicaddr(family=<AddressFamily.AF_INET: 2>, address='10.36.23.50', netmask='255.255.255.0', broadcast=None, ptp=None),
  snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::d472:4d86:72f6:4da1', netmask=None, broadcast=None, ptp=None)]}
"""
NetIfStats = psutil.net_if_stats()  # 返回網(wǎng)卡的詳細信息, 包括是否啟動、通信類型、傳輸速度、mtu
"""
{'Loopback Pseudo-Interface 1': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=1073, mtu=1500),
 '本地連接': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=100, mtu=1500)}
"""
NetConnections = psutil.net_connections(kind='inet')  # 以列表的形式返回每個網(wǎng)絡連接的詳細信息
"""
[sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=57096), raddr=addr(ip='127.0.0.1', port=57095), status='ESTABLISHED', pid=7456),
 sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=57230), raddr=addr(ip='127.0.0.1', port=57229), status='ESTABLISHED', pid=20992),
 sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=57184), raddr=addr(ip='127.0.0.1', port=57251), status='ESTABLISHED', pid=20992)]
...
里面接受一個參數(shù), 默認是 "inet", 當然我們也可以指定為其它, 比如 "tcp"
"""

到此這篇關于python使用Psutil模塊實現(xiàn)獲取計算機相關信息的文章就介紹到這了,更多相關python psutil內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python使用線程來接收串口數(shù)據(jù)的示例

    Python使用線程來接收串口數(shù)據(jù)的示例

    今天小編就為大家分享一篇Python使用線程來接收串口數(shù)據(jù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 關于keras中keras.layers.merge的用法說明

    關于keras中keras.layers.merge的用法說明

    這篇文章主要介紹了關于keras中keras.layers.merge的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • OpenCV圖像處理之圖像的二值化解讀

    OpenCV圖像處理之圖像的二值化解讀

    這篇文章主要介紹了OpenCV圖像處理之圖像的二值化解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Django REST Swagger實現(xiàn)指定api參數(shù)

    Django REST Swagger實現(xiàn)指定api參數(shù)

    這篇文章主要介紹了Django REST Swagger實現(xiàn)指定api參數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 詳解Appium+Python之生成html測試報告

    詳解Appium+Python之生成html測試報告

    這篇文章主要介紹了詳解Appium+Python之生成html測試報告,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python小白學習包管理器pip安裝

    python小白學習包管理器pip安裝

    在本篇文章里小編給大家分享的是一篇python包管理器pip安裝的相關知識點內容,有興趣的朋友們參考下。
    2020-06-06
  • Pytorch實現(xiàn)張量的創(chuàng)建與使用方法

    Pytorch實現(xiàn)張量的創(chuàng)建與使用方法

    本文主要介紹了Pytorch實現(xiàn)張量創(chuàng)建使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • python利用PyQt5設計鼠標顯示形狀

    python利用PyQt5設計鼠標顯示形狀

    不知道大家有沒有發(fā)現(xiàn),我們在網(wǎng)頁移動鼠標時,不同的網(wǎng)頁會有不同的鼠標移動特效,通過移動鼠標,會形成類似蜘蛛網(wǎng)等等的特效,本文將用PyQt5實現(xiàn)這一特效,需要的可以參考一下
    2024-07-07
  • Python3 能振興 Python的原因分析

    Python3 能振興 Python的原因分析

    我從Stephen A. Goss那讀到關于了《Python 3正在毀滅Python》。這篇文章有不少精彩的論點,但我卻并不認為Python 3是在毀滅Python,也不認為整個局面對Python一點也不利
    2014-11-11
  • Python實現(xiàn)LRU算法的2種方法

    Python實現(xiàn)LRU算法的2種方法

    這篇文章主要介紹了Python實現(xiàn)LRU算法的2種方法,本文分別給出了用OrderedDict實現(xiàn)、用dict+list實現(xiàn)兩種方法,需要的朋友可以參考下
    2015-06-06

最新評論