一、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