Python操作系统统计信息

发布时间:2023-05-12

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