#!/usr/bin/env Python3#-*-coding:utf-8-*-ImportsubprocessImportRedict_sn_productname= {}defGetdmidecode ():# #variable ' out ' is subprocess output infoTop_info = subprocess. Popen (["Dmidecode","- T","system"], stdout=subprocess. PIPE) out, err=top_info.communicate ()#Output Info Get from console have 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 processOut_info = Out.decode ('Unicode-escape') #print (out_info)Lines =[] Lines= Out_info.split ('\ n') #return Out_info #Get serial number if 'Serial Number' inchOut_info:serialnumbersearch= Re.compile ('Serial Number: (. +?) \ n') SerialNumber=Serialnumbersearch.findall (Out_info) [0] dict_sn_productname['serialnumber'] =serialnumber#Get Product Name if 'Product Name' inchOut_info:productnamesearch= Re.compile ('Product Name: (. +?) \ n') ProductName=Productnamesearch.findall (Out_info) [0] dict_sn_productname['ProductName'] =Productnamegetdmidecode ()Print(Dict_sn_productname)
Output
[[email protected] mgmtstatus] # ./dmidecode.py {'productName':'IBM System x3650 M4:-[7915r7q]-',' serialnumber ':'06BAFCD'}[[email protected] mgmtstatus]#
From for notes (Wiz)
dmidecode.py (Python3_dmidecode)