获取系统信息——使用Python脚本
可以通过正在使用的操作系统轻松获取系统的系统信息,比如说 Ubuntu。但是使用Python脚本获取此系统信息不是很有趣吗?在本文中,我们将研究使用Python获取系统信息的各种方法。
获取信息有两种方式:
- 使用平台模块
- 子进程
1.使用平台模块:
可以使用以下命令安装平台模块:
pip install platform
例子:
Python3
import platform
my_system = platform.uname()
print(f"System: {my_system.system}")
print(f"Node Name: {my_system.node}")
print(f"Release: {my_system.release}")
print(f"Version: {my_system.version}")
print(f"Machine: {my_system.machine}")
print(f"Processor: {my_system.processor}")
Python3
import wmi
c = wmi.WMI()
my_system = c.Win32_ComputerSystem()[0]
print(f"Manufacturer: {my_system.Manufacturer}")
print(f"Model: {my_system. Model}")
print(f"Name: {my_system.Name}")
print(f"NumberOfProcessors: {my_system.NumberOfProcessors}")
print(f"SystemType: {my_system.SystemType}")
print(f"SystemFamily: {my_system.SystemFamily}")
Python3
import os
print(os.uname())
Python3
import psutil
print(f"Memory :{psutil.virtual_memory()}")
Python3
# import module
import subprocess
# traverse the info
Id = subprocess.check_output(['systeminfo']).decode('utf-8').split('\n')
new = []
# arrange the string into clear info
for item in Id:
new.append(str(item.split("\r")[:-1]))
for i in new:
print(i[2:-2])
输出:
System: Windows
Node Name: LAPTOP-PRKUI1Q9
Release: 10
Version: 10.0.18362
Machine: AMD64
Processor: Intel64 Family 6 Model 78 Stepping 3, GenuineIntel
使用 WMI 模块(仅适用于 Windows):
WMI 模块可用于获取 windows 机器的系统信息,可以使用以下命令安装:
pip install wmi
例子:
Python3
import wmi
c = wmi.WMI()
my_system = c.Win32_ComputerSystem()[0]
print(f"Manufacturer: {my_system.Manufacturer}")
print(f"Model: {my_system. Model}")
print(f"Name: {my_system.Name}")
print(f"NumberOfProcessors: {my_system.NumberOfProcessors}")
print(f"SystemType: {my_system.SystemType}")
print(f"SystemFamily: {my_system.SystemFamily}")
输出:
Manufacturer: LENOVO
Model: 80XH
Name: LAPTOP-PRKUI1Q9
NumberOfProcessors: 1
SystemType: x64-based PC
SystemFamily: ideapad 320-15ISK
使用 os 模块(仅适用于 Unix):
例子:
Python3
import os
print(os.uname())
输出:
(‘Linux’, ‘mycomputer.domain.user’, ‘2.6.18-92.1.22.el5PAE’, ‘#1 SMP Tue APR 16 12:36:25 EST 2020’, ‘i686’)
使用 psutil 模块:
这主要用于获取系统上的运行时进程信息。
可以使用以下命令安装 psutil 模块:
pip install psutil
例子:
Python3
import psutil
print(f"Memory :{psutil.virtual_memory()}")
输出:
Memory :svmem(total=8458571776, available=2982494208, percent=64.7, used=5476077568, free=2982494208)
2.使用子流程模块:
我们将使用subprocess模块与 cmd 交互并将信息检索到您的Python ide。我们可以通过 subprocess 模块读取 cmd 命令。它是Python中的一个内置模块
让我们看看我的逻辑,如果我们在终端中运行这个systeminfo代码,那么我们会得到这样的结果:
让我们编写Python代码来获取信息:
Approach:
- import module
- Get the output for the command “systeminfo” using subprocess.check_output()
- Decode the output with utf-8 split the meta data according to the line
- Now get the Split the string and arrange your data with your own needs.
执行:
Python3
# import module
import subprocess
# traverse the info
Id = subprocess.check_output(['systeminfo']).decode('utf-8').split('\n')
new = []
# arrange the string into clear info
for item in Id:
new.append(str(item.split("\r")[:-1]))
for i in new:
print(i[2:-2])
输出: