我想创建一个python脚本来检查用户的机器外形(笔记本电脑或台式机),然后我就可以使用这样的条件:
chassis_type = some_module.get_chassis_type()
if chassis_type == 'laptop':
print("You are out of luck, because you are using laptop.")
if chassis_type == 'desktop':
print("You are good to go, because you are using desktop.")
我不想检查电池是否存在,但我想使用更通用的方式。有没有办法使用python来实现这一点呢?
发布于 2020-07-09 14:36:26
有几种方法可以做到这一点。
您可以使用dmidecode模块从固件读取此信息,但这需要权限。此外,您还可以直接读取/sys/class/dmi/id/chassis_type
文件,并将数字转换为指定的机箱字符串。
但我目前使用的方式如下:
import re
import subprocess
machine_info = subprocess.check_output(["hostnamectl", "status"], universal_newlines=True)
m = re.search('Chassis: (.+?)\n', machine_info)
chassis_type = m.group(1)
print("Your chassis type is", chassis_type)
该方法依赖于标准的systemd规范,该规范检查固件和/etc/machine-id
。
https://stackoverflow.com/questions/62817340
复制