一、OS模塊獲取系統信息
1、使用OS模塊的一些基本函數能夠獲取操作系統的一些基本信息。例如:
import os
# 獲取系統名稱和版本號
print(os.name)
print(os.uname())
# 獲取當前工作路徑
print(os.getcwd())
# 獲取CPU數量
print(os.cpu_count())
# 獲取內存使用情況
print(os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES') / (1024.0 ** 3))
其中,os.name用於獲取操作系統的名稱,例如在Windows下輸出’nt’,在Linux下輸出’posix’。os.uname()獲取更為詳細的系統信息,包括名稱、節點、版本號、處理器等。
os.getcwd()用於獲取當前工作路徑。os.cpu_count()用於獲取CPU的數量。os.sysconf()用於獲取系統相關限制的值,如上述代碼中獲取了內存頁大小和可用物理內存大小,並計算出了總內存容量。
二、Pandas庫進行數據統計分析
1、Pandas是Python中一種高性能、易於使用的數據結構分析工具。它能夠方便地讀取和處理數據,並進行各種統計分析。
2、以讀取系統CPU利用率數據為例:
import pandas as pd
data = pd.read_csv('/proc/stat', sep=' ', skipinitialspace=True)
cpus = []
for line in data:
if line.startswith('cpu'):
cpus.append(line)
for cpu in cpus:
stats = data[cpu].tolist()
idle = stats[3]
total = sum(stats)
usage = 100.0 - (idle * 100.0 / total)
print(cpu, usage)
上述代碼中使用Pandas讀取了系統/proc/stat文件中的CPU利用率數據,並計算了CPU的利用率。其中,首先使用pd.read_csv()函數讀取文件,然後遍歷獲取了每個CPU的數據,計算利用率並輸出。
三、psutil庫實現進程和系統信息獲取
1、psutil是Python的一個跨平台進程和系統監控庫,可以獲取進程和系統的各種信息。
2、以獲取當前進程CPU和內存佔用率為例:
import psutil
pid = os.getpid()
process = psutil.Process(pid)
print('CPU percent:', process.cpu_percent())
print('Memory percent:', process.memory_percent())
上述代碼中首先獲取當前進程ID,然後使用psutil.Process()獲取進程相關信息,包括CPU和內存使用情況。
四、pyCpuinfo庫獲取CPU信息
1、pyCpuinfo是Python中一種能夠獲取CPU相關信息的庫,包括架構、型號、頻率、緩存等。
2、使用pyCpuinfo獲取CPU信息的代碼如下:
import cpuinfo info = cpuinfo.get_cpu_info() print(info['vendor_id']) print(info['brand']) print(info['hz_advertised_friendly']) print(info['l2_cache_size']) print(info['arch'])
上述代碼使用了cpuinfo.get_cpu_info()函數獲取CPU信息,並輸出了一些基本信息,如廠商、型號、頻率、緩存和架構。
五、Win32 API獲取系統信息
1、在Windows平台下,可以使用pywin32庫來調用Win32 API獲取系統信息。
2、以獲取系統進程列表為例:
import win32com.client
WMI = win32com.client.GetObject('winmgmts:')
processes = WMI.InstancesOf('Win32_Process')
for p in processes:
print(p.ProcessID, p.Name)
上述代碼通過win32com.client模塊調用了Win32 API獲取了系統進程列表,並輸出了進程ID和名稱。
原創文章,作者:URTP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138170.html
微信掃一掃
支付寶掃一掃