dmidecode.py (python3_dmidecode)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import re
dict_sn_productName = {}
def getDmidecode():
    #
    #variable ‘out‘ is subprocess output info
    top_info = subprocess.Popen(["dmidecode", "-t", "system"], stdout=subprocess.PIPE)
    out, err = top_info.communicate()
    #output info get from console has many unicode escape character ,such as \x1b(B\x1b[m\x1b[39;49m\x1b[K\n\x1b(B\x1b[m
    #use decode(‘unicode-escape‘) to process
    out_info = out.decode(‘unicode-escape‘)
    #print(out_info)
    lines = []
    lines = out_info.split(‘\n‘)
    #return out_info
    # get serial number
    if ‘Serial Number‘ in out_info:
        serialNumberSearch = re.compile(‘Serial Number: (.+?)\n‘)
        serialNumber = serialNumberSearch.findall(out_info)[0]
        dict_sn_productName[‘serialNumber‘] = serialNumber
    # get Product Name
    if ‘Product Name‘ in out_info:
        productNameSearch = re.compile(‘Product Name: (.+?)\n‘)
        productName = productNameSearch.findall(out_info)[0]
        dict_sn_productName[‘productName‘] = productName
getDmidecode()
print (dict_sn_productName)

output:

[[email protected] MgmtStatus]#./dmidecode.py
{‘productName‘:‘IBM System x3650 M4: -[7915R7Q]-‘,‘serialNumber‘:‘06BAFCD‘}
[[email protected] MgmtStatus]#

来自为知笔记(Wiz)

时间: 2024-08-25 15:36:54

dmidecode.py (python3_dmidecode)的相关文章

Python:Dmidecode系统信息

# dmidecode | less 我们通过 dmidecode 命令可以获取厂商.产品型号.序列号等.但是 dmidecode 命令输出的信息太多,我们只需要 System Information 下的 Manufacturer.Product Name.Serial Number 三个信息,并以字典形式输出. 若没有 dmidecode 命令,安装即可:yum install -y dmidecode 代码如下: # vim dmi.py #!/usr/bin/env python fro

dmidecode收集系统信息

[[email protected] systeminformation]# vim dmidecode_1.py #!/usr/bin/env python                                                                                                                                                                           

python 获取Dmidecode 输出的系统硬件信息

目的: 熟悉利用python 分析文本的信息.分析的文件信息是通过dmidecode 工具抓取的系统硬件信息. 本文结构: (1) 分析dmidecode 工具的输出信息结构 (2) 分别用两种方式对dmidecode 输出的信息实现抓取,获取Manufacturer.Product Name和 Serial Number. dmidecode 输出信息分析 dmidecode 是系统的工具,如果没有安装,需要先安装.在我的机器上的Dmidecode 版本: 安装的方式也很简单,用命令:yum

使用TDD理解views.py与urls.py的关系

首先必须对MVC的概念有初步的认识,django也遵循这样一套规范,views.py相当于视图函数,是整个架构中的处理引擎,而urls.py的作用就是将用户请求送入这样的引擎. 项目结构: urls.py: from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ # Examples: #url(r'^$', 'mysite.views.home', name='home

layers.py cs231n

如果有错误,欢迎指出,不胜感激. import numpy as np def affine_forward(x, w, b): 第一个最简单的 affine_forward简单的前向传递,返回 out,cache """ Computes the forward pass for an affine (fully-connected) layer. The input x has shape (N, d_1, ..., d_k) and contains a minibat

Python pydoc.py

1. 查看帮助,我们可以在python命令行交互环境下用 help函数,比如: 查看 math 模块: >>> help('math')Help on built-in module math: NAME math DESCRIPTION This module is always available. It provides access to the mathematical functions defined by the C standard. FUNCTIONS acos(..

创建py模板

创建模板之后,每次新建py文件,已初始定义的代码段将会自动出现在py文件中.

python下编译py成pyc和pyo

其实很简单,用python -m py_compile file.py python -m py_compile /root/src/{file1,file2}.py编译成pyc文件.也可以写份脚本来做这事:Code: import py_compile py_compile.compile('path') //path是包括.py文件名的路径 用python -O -m py_compile file.py 编译成pyo文件.1.其中的 -m 相当于脚本中的import,这里的-m py_co

django 运行python manage.py sqlall books 时报错 app has migration

出现这个问题的原因是版本之前的不兼容,我用的django版本是1.8.6 而 这条python manage.py sqlall books 是基于django1.0版本的. 在django1.8.6版本中生成一个表的语句是    $ python manage.py makemigrations books $ python manage.py sqlmigrate books 0001 django book2 是一本不错的教程,但是就是版本太老了,可以通过看book2对django有一个比