• 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(Bx1b[mx1b[39;49mx1b[K
    x1b(Bx1b[m
        #use decode('unicode-escape') to process
        out_info = out.decode('unicode-escape')
        #print(out_info)
        lines = []
        lines = out_info.split('
    ')
        #return out_info
        # get serial number
        if 'Serial Number' in out_info:
            serialNumberSearch = re.compile('Serial Number: (.+?)
    ')
            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: (.+?)
    ')
            productName = productNameSearch.findall(out_info)[0]
            dict_sn_productName['productName'] = productName
    getDmidecode()
    print (dict_sn_productName)
    output:
    [root@mgt MgmtStatus]#./dmidecode.py
    {'productName':'IBM System x3650 M4: -[7915R7Q]-','serialNumber':'06BAFCD'}
    [root@mgt MgmtStatus]#
     
     





  • 相关阅读:
    gcc和g++的区别和联系
    Linux基础命令第二天
    Linux基础命令第一天
    Flask入门之完整项目搭建
    Flask入门第三天
    Flask入门第二天
    Flask入门第一天
    vue_drf之多级过滤、排序、分页
    vue_drf之视频接口
    vue_drf之支付宝接口
  • 原文地址:https://www.cnblogs.com/topshooter/p/python3_dmidecode.html
Copyright © 2020-2023  润新知