一、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和名称。