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