提问者:小点点

检查是否在Python中的笔记本或桌面机箱类型上运行


我想写一个条件依赖于机器形状因子的脚本。 有没有一种方法可以使用Python实现这一点?


共1个答案

匿名用户

有几种方法可以做到这一点。

您可以使用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