编写一个python3的代码,可以获取到当前设备的硬件信息,如显示器型号,驱动型号,电池型号等等
时间: 2023-08-31 07:24:21 浏览: 228
一个获取系统硬件信息状态的一个小程序(python)
### 回答1:
获取设备硬件信息需要使用系统相关的库,Python中可以使用`psutil`、`platform`、`subprocess`等库获取硬件信息。
以下是一个示例代码,可以获取设备的一些硬件信息,包括CPU型号、内存大小、硬盘大小、显示器分辨率等等。需要注意的是,该代码只能在Linux和Windows操作系统上运行,Mac OS可能需要使用其他的库或者工具来获取硬件信息。
```python
import psutil
import platform
import subprocess
# 获取CPU信息
cpu_info = subprocess.check_output('lscpu').decode('utf-8').split('\n')
cpu_model = cpu_info[11].split(':')[1].strip()
# 获取内存信息
memory = psutil.virtual_memory().total / (1024 ** 3)
# 获取硬盘信息
disk_partitions = psutil.disk_partitions()
disk_info = []
for partition in disk_partitions:
try:
usage = psutil.disk_usage(partition.mountpoint)
size = usage.total / (1024 ** 3)
disk_info.append((partition.device, size))
except:
pass
# 获取显示器信息
if platform.system() == "Windows":
import win32api
import win32con
hmonitor = win32api.MonitorFromPoint((0, 0), win32con.MONITOR_DEFAULTTONEAREST)
monitor_info = win32api.GetMonitorInfo(hmonitor)
monitor_size = (monitor_info['Monitor'][2], monitor_info['Monitor'][3])
monitor_resolution = (monitor_info['Work'][2], monitor_info['Work'][3])
monitor_name = monitor_info['Device']
else:
xrandr = subprocess.check_output(['xrandr']).decode('utf-8')
monitor_info = xrandr.split()
monitor_name = monitor_info[7]
monitor_size = monitor_info[8].replace(',', 'x')
monitor_resolution = monitor_info[10].replace(',', 'x')
# 输出硬件信息
print(f"CPU型号:{cpu_model}")
print(f"内存大小:{memory}GB")
for disk in disk_info:
print(f"硬盘:{disk[0]},大小:{disk[1]}GB")
print(f"显示器名称:{monitor_name}")
print(f"显示器分辨率:{monitor_resolution}")
print(f"显示器大小:{monitor_size}")
```
需要注意的是,该代码使用了不同操作系统下的不同方法来获取硬件信息,需要根据具体的操作系统进行修改和适配。同时,部分硬件信息可能需要管理员权限才能获取到,需要在管理员权限下运行代码。
### 回答2:
要获取当前设备的硬件信息,需要使用第三方库psutil。以下是一个使用Python3编写的获取硬件信息的代码示例:
```python
import psutil
# 获取CPU信息
cpu_info = psutil.cpu_info()
print("CPU型号:", cpu_info[0].model)
print("物理核心数:", cpu_info[0].physical_cores)
print("逻辑核心数:", psutil.cpu_count())
# 获取内存信息
mem_info = psutil.virtual_memory()
print("总内存:", mem_info.total)
print("可用内存:", mem_info.available)
# 获取磁盘信息
disk_info = psutil.disk_partitions()
for disk in disk_info:
print("磁盘名称:", disk.device)
print("磁盘挂载点:", disk.mountpoint)
print("磁盘文件系统:", disk.fstype)
disk_usage = psutil.disk_usage(disk.mountpoint)
print("磁盘总容量:", disk_usage.total)
print("磁盘可用容量:", disk_usage.free)
# 获取显示器信息
monitor_info = psutil.disk_partitions()
for monitor in monitor_info:
print("显示器型号:", monitor.model)
# 获取电池信息(如果有的话)
battery_info = psutil.sensors_battery()
if battery_info:
print("电池型号:", battery_info.model)
print("电池当前电量:", battery_info.percent)
```
以上代码将使用`psutil`库的`cpu_info()`、`virtual_memory()`、`disk_partitions()`、`disk_usage()`、`sensors_battery()`等函数获取CPU、内存、磁盘、显示器和电池等硬件信息,并将其打印出来。请确保已安装`psutil`库。
### 回答3:
要编写一个Python3的代码来获取当前设备的硬件信息,可以使用第三方库`wmi`来实现。首先,需要确保安装了`wmi`库。
下面是获取显示器型号、驱动型号和电池型号的代码示例:
```python
import wmi
def get_hardware_info():
# 连接到WMI服务
c = wmi.WMI()
# 获取显示器信息
for monitor in c.Win32_PnPEntity():
if 'monitor' in str(monitor.PNPDeviceID).lower():
print('显示器型号:', monitor.Name)
print('驱动型号:', monitor.DriverVersion)
print('---')
# 获取电池信息
for battery in c.Win32_Battery():
print('电池型号:', battery.Name)
print('---')
get_hardware_info()
```
此代码会通过WMI服务获取显示器和电池的相关信息,并打印出来。根据具体的设备配置,代码可能会返回多个显示器或电池的信息。你可以根据实际需要进行处理和调整。
请注意,需要在代码运行前确保已经安装了`wmi`库,可以通过命令进行安装:`pip install wmi`。另外,该代码在Windows系统下有效,不适用于其他操作系统。
阅读全文