Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Python中检查是否在笔记本电脑或台式机机箱上运行

在Python中检查是否在笔记本电脑或台式机机箱上运行
EN

Stack Overflow用户
提问于 2020-07-09 14:36:26
回答 1查看 112关注 0票数 0

我想创建一个python脚本来检查用户的机器外形(笔记本电脑或台式机),然后我就可以使用这样的条件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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来实现这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2020-07-09 14:36:26

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

您可以使用dmidecode模块从固件读取此信息,但这需要权限。此外,您还可以直接读取/sys/class/dmi/id/chassis_type文件,并将数字转换为指定的机箱字符串。

但我目前使用的方式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62817340

复制
相关文章
使用事件总线(eventbus)或自定义事件的问题
事件总线、自定义事件关键点 先监听事件再触发事件 考虑组件生命周期顺序 组件通信 <!-- 组件A --> <template> <div> <button @click="jump">跳转B</button> {{msg}} </div> </template> <!-- 组件B --> <template> <div> <button @click="back">返回</button> </div> </template> // A jump () { t
peng_tianyu
2022/12/15
6190
使用事件总线(eventbus)或自定义事件的问题
SpringBoot系列之使用自定义注解校验用户是否登录
记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了。
一个程序员的成长
2020/11/25
1.1K0
SpringBoot系列之使用自定义注解校验用户是否登录
EventBus使用详解(一)——初步使用EventBus[通俗易懂]
前言:EventBus是上周项目中用到的,网上的文章大都一样,或者过时,有用的没几篇,经过琢磨,请教他人,也终于弄清楚点眉目,记录下来分享给大家。
全栈程序员站长
2022/09/05
1.4K0
EventBus使用详解(一)——初步使用EventBus[通俗易懂]
自定义HikariCP连接池
官方解释: 快速、简单、可靠。HikariCP 是一个“零开销”的生产就绪 JDBC 连接池。大约 130Kb,库非常轻。
ha_lydms
2023/08/10
2K0
自定义HikariCP连接池
连接格式优化,支持自定义
12月, eKuiper 团队继续专注于 1.8.0 版本新功能的开发。我们重构了外部连接(source/sink) 的格式机制,更加清晰地分离了连接、格式和 Schema,同时支持了格式的自定义;受益于新的格式机制,我们大幅完善了文件源(file source)的能力,支持定时监控文件系统及各种格式的文件,并且采用流的方式消费文件系统数据;最后,我们增加了完整数据包括规则和配置的导入导出功能,支持节点的迁移。另外,我们也修复了一些问题,并发布到 1.7.x 版本中。
EMQ映云科技
2023/01/05
6270
自定义MySQL连接池
最近在学习了通用池化框架commons-pool2实践之后,再HTTP性能测试中进行了实践,结果出乎意料,对于性能提升没啥卵用。经过我自己的本地测试,性能也是足够好的。
FunTester
2022/07/08
7210
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 )
在 Module 下的 build.gradle 中导入 EventBus 依赖 ;
韩曙亮
2023/03/29
7070
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 )
【EventBus】EventBus 事件总线框架简介 ( EventBus 使用流程 )
EventBus 常用于 组件 间的事件传递 , 实现了各个组件间的通信 , 如 Activity 与 Fragment 之间的通信 , Activity 与 Service 之间的通信 ;
韩曙亮
2023/03/29
7130
1. 自定义连接池
Connection对象在JDBC使用的时候就会去创建一个对象,使用结束以后就会将这个对象给销毁了(close).每次创建和销毁对象都是耗时操作.
Devops海洋的渔夫
2021/10/12
4140
EventBus使用详解
最近在公司做一个类似于手机工厂模式的一个项目,用来检测其他各个App是否正常工作,所以要求是尽可能的轻量级,因为是检测其他App的工作,所以整个项目都是信息之间的频繁交互。在项目中存在很多Fragment和Fragment之间的信息交互,之前一直在用广播来实现但是广播使用起来较为麻烦且效率不高。在同事的建议下学习了EventBus,在此做一下学习记录,侵权请告知一定及时删除。
xiangzhihong
2022/11/30
2.2K0
EventBus 使用总结
EventBus是一个事件总线框架,观察者模式的变形,利用这个框架,我们可以方便高效地在Android组件间传递和处理数据,切换线程,降低代码耦合度。 本文基于 EventBus 3.0。
杜金房
2020/12/21
9660
EventBus 使用总结
eventbus短暂使用
2017 10 27 EventBus 是个什么鬼? 首先有两个概念发布者/订阅者
tea9
2022/07/16
2730
EventBus轻松使用
  由greenrobot组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架,功能:通过解耦发布者和订阅者简化Android事件传递,EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。特点:代码简洁,是一种发布订阅设计模式(观察者设计模式)。
用户2038589
2018/09/06
6180
EventBus简单使用
github:https://github.com/greenrobot/EventBus/
yechaoa
2022/06/10
2060
开发自定义Mysql连接池
     tar -zxvf *.tar.gz * python3 setup.py build && python3 setup.py install
py3study
2020/01/10
5370
自定义数据库连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个,应用程序和数据库创建连接需要消耗很大的资源。 package com.lbx.myDataSource; import javax.sql.DataSource; import java.io.PrintWriter; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.l
秋白
2018/05/24
7680
自定义数据库连接池
时间很快就到周末了,学习计划也已经进行了五天了,既然是周末的话,那当然要多学习一点知识,毕竟拥有这么充裕的时间。
wangweijun
2020/02/14
6210
vb连接Access数据库自定义
Public cn As New ADODB.Connection Public rs As New ADODB.Recordset
全栈程序员站长
2022/07/23
3.3K0
使用ListView自定义布局
ListView这个控件实际上是很难用的,就是因为它很多细节可以优化,效率就是比较重要的一点.下面我们来优化下它的效率:
Dream城堡
2018/12/14
8730
使用ListView自定义布局
点击加载更多

相似问题

自定义视图中的EventBus

17

是否可以从eventBus侦听器发送自定义事件?

19

将自定义事件发布到亚马逊CloudTrail

111

默认情况下匹配的EventRule EventBridge EventBus被自定义EventBus忽略

17

EventBus Xamaring使用反射找不到活动的自定义方法

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文