返回顶部
首页 > 资讯 > 后端开发 > Python >Python:Dmidecode系统信息
  • 218
分享到

Python:Dmidecode系统信息

系统信息Python 2023-01-31 07:01:49 218人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

# dmidecode | less我们通过 dmidecode 命令可以获取厂商、产品型号、序列号等、但是 dmidecode 命令输出的信息太多,我们只需要 System InfORMation 下的 Manufacturer、Prod


# dmidecode | less

wKioL1db4QGSYqA6AACE785z6pU383.png

我们通过 dmidecode 命令可以获取厂商、产品型号、序列号等、但是 dmidecode 命令输出的信息太多,我们只需要 System InfORMation 下的 Manufacturer、Product Name、Serial Number 三个信息,并以字典形式输出。

若没有 dmidecode 命令,安装即可:yum install -y dmidecode



代码如下:

# vim dmi.py

#!/usr/bin/env python

from subprocess import Popen, PIPE

def getDmi():
    p = Popen(['dmidecode'], stdout=PIPE)
    data = p.stdout.read()
    return data

def parseDmi(data):
    lines = []
    line_in = False
    dmi_list = [i for i in data.split('\n') if i]
    for line in dmi_list:
        if line.startswith('System Information'):
            line_in = True
            continue
        if line_in:
            if not line[0].strip():
                lines.append(line)
            else:
                break
    return lines

def dmiDic():
    dmi_dic = {}
    data = getDmi()
    lines = parseDmi(data)
    dic = dict([i.strip().split(': ') for i in lines])
    dmi_dic['vendor'] = dic['Manufacturer']
    dmi_dic['product'] = dic['Product Name']
    dmi_dic['sn'] = dic['Serial Number']
    return dmi_dic

if __name__ == '__main__':
    print dmiDic()

代码说明:

dmi_list = [i for i in data.split('\n') if i]

是以 \n 对字符串进行切割,保存为一个列表。但是空行就会被切割成为了一个空字符串,if i 则起到去除空字符串效果,因为空字符串为False,只有为True才会被保存到列表中。

if not line[0].strip():

这是因为 System Information 下一行都是以 tab(\t)开头的,strip函数是去除字符串前后的空格或者tab,line[0].strip()则是对第一个字符执行strip,若该字符为空格或者tab,则会被去除,形成一个空字符,而空字符的类型为False,not line[0].strip()则为True。


执行结果如下:

wKiom1db5J_A2gotAAAhjqYVg3E170.png



--结束END--

本文标题: Python:Dmidecode系统信息

本文链接: https://lsjlt.com/news/190871.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python:Dmidecode系统信息
    # dmidecode | less我们通过 dmidecode 命令可以获取厂商、产品型号、序列号等、但是 dmidecode 命令输出的信息太多,我们只需要 System Information 下的 Manufacturer、Prod...
    99+
    2023-01-31
    系统 信息 Python
  • Python:收集系统信息
    收集主机的以下信息,并以字典形式输出。1、主机名:hostname2、IP地址:ip3、操作系统版本:osver4、服务器厂商:vendor5、服务器型号:product6、服务器序列号:sn7、cpu型号:cpu_model8、cpu核数...
    99+
    2023-01-31
    系统 信息 Python
  • LinuxMint系统版本信息在哪?LinuxMint查看系统信息的技巧
    Linux Mint怎么查看系统版本信息?怎么查看?今天我们就来看看Linux Mint系统查看当前版本信息的过程,详细请看下文介绍。 点击左边的菜单图标。 点击系统设置图标。 下拉设置页面。 点击系统信息。 打开后...
    99+
    2022-05-17
    Linux 系统版本信息
  • aux_stats$ 基表(系统统计信息)
    aux_stats$ 基表(系统统计信息)...
    99+
    2024-04-02
  • Linux操作系统查看系统信息
    要查看Linux操作系统的系统信息,可以使用以下命令:1. uname命令:用于显示系统信息和内核版本。可以使用以下选项:-a 显...
    99+
    2023-10-12
    Linux
  • python系统信息模块psutil
        psutil模块能够获取系统运行的进程和系统利用率。包括:CPU,内存,磁盘,网络等信息。一般用于系统的监控,分析和限制系统资源和进程的管理。    首先下载安装psutil:wget https://pypi.python.org...
    99+
    2023-01-31
    模块 系统 信息
  • C++实现信息管理系统
    本文实例为大家分享了C++实现信息管理系统的具体代码,供大家参考,具体内容如下 有一个信息管理系统,要求检查每一个登录系统的用户(User)的用户名和口令,系统检查合格以后方可登录系...
    99+
    2024-04-02
  • Python实现信息管理系统
    本文实例为大家分享了Python实现信息管理系统的具体代码,供大家参考,具体内容如下 """ 项目名称 = 'python' 文件名= '学生信息管理系统' 作者 = '向日葵' "...
    99+
    2024-04-02
  • android实现系统信息推送
    本文实例为大家分享了android实现系统信息推送的具体代码,供大家参考,具体内容如下 1、判断是否是启动App,而非刷新界面执行该方法 if (!window.name) {   ...
    99+
    2024-04-02
  • 有哪些管理信息系统
    这期内容当中小编将会给大家带来有关有哪些管理信息系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。管理信息系统的分类:1、基于组织职能进行划分,可以为办公系统、决策系统、生产系统和信息系统;2、基于信息处...
    99+
    2023-06-14
  • ubuntu怎么查看系统信息
    在Ubuntu系统中,你可以使用以下命令来查看系统信息:1. `uname -a`:显示系统内核信息,包括内核版本、操作系统版本和处...
    99+
    2023-08-30
    ubuntu
  • 【JAVA】学生信息管理系统
    目录 前言 一、环境搭建 二、功能实现 1.学生信息类的创建 2.学生信息的添加功能 3.学生信息的删除功能 4.学生信息的修改功能  5.学生信息的查看功能  三、主类的调用 1.界面的搭建 2.学生端和教师端 3.系统和功能的选择 总...
    99+
    2023-09-09
    java
  • 学生信息系统(python实现)
    #coding=utf-8import os.pathfilename='student.txt'def menm():#菜单界面 print('===========================学生管理系统==========...
    99+
    2023-09-14
    python 开发语言
  • linux怎么查看系统信息
    这篇“linux怎么查看系统信息”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux怎么查看系统信息”文章吧。一:cpu...
    99+
    2023-07-05
  • python获取linux的系统信息
     python写的抓取linux系统主要信息的脚本,主要就是内存,硬盘、CPU之类的信息。   内存信息 / meminfo 返回dict #!/usr/bin/env python def memory_stat():     mem =...
    99+
    2023-01-31
    系统 信息 python
  • python获取系统硬件信息
    github项目 https://github.com/giampaolo/psutil cpu,内存,etc. ...
    99+
    2023-01-31
    硬件 系统 信息
  • linux如何查看系统信息
    目录一:cpu二:内存三:查看CPU位数(32 or 64)四:查看linux版本五:查看内核版本六:查看时区七:主机名查看主机名修改主机名八:查看selinux情况九:网络IP网关dns修改Host文件十:已经安装的软...
    99+
    2023-03-02
    linux查看系统信息 linux查看系统配置 linux查看机器配置命令
  • 绩效管理的信息系统
    简介 绩效管理是一种旨在评估和提高员工工作表现的过程,它通过设定明确的目标、定期评估和反馈来促进员工的个人和团队成长。在当今竞争激烈的商业环境中,企业需要一种有效的方法来跟踪和管理员工的绩效,以确保他们的工作达到预期的标准。这就是绩效管理信...
    99+
    2024-01-21
    信息系统 绩效管理
  • SUSE系统中如何查看系统硬件信息
    在SUSE系统中,您可以使用以下命令来查看系统的硬件信息: 使用命令lscpu来查看CPU相关信息,如CPU型号、核心数、线程数...
    99+
    2024-03-13
    SUSE
  • Python使用psutil获取系统信息
    psutil模块 用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作