python编程实例-dmidecode系统信息搜集

 1 #!/usr/bin/env python
 2 
 3 from subprocess import PIPE,Popen
 4 
 5 def getDmi():
 6     p = Popen(['dmidecode'],stdout=PIPE)
 7     data = p.stdout.read()
 8     return data
 9 
10 def parseDmi(data):
11     lines = []
12     line_in = False
13     dmi_list = [i for i in data.split('
') if i]
14     for line in dmi_list:
15         if line.startswith('System Information'):
16             line_in = True
17             continue
18         if line_in:
19             if not line[0].strip():
20                 lines.append(line)
21             else:
22                 break
23     return lines
24 def dmiDict():
25     dmi_dict = {}
26     data = getDmi()
27     lines = parseDmi(data)
28     dic = dict([i.strip().split(': ') for i in lines])
29     dmi_dict['vendor']=dic['Manufacturer']
30     dmi_dict['product']=dic['Product Name']
31     dmi_dict['sn']=dic['Serial Number']
32     return dmi_dict
33 if __name__ == '__main__':
34     print dmiDict()
 1 #!usr/bin/env python
 2 
 3 from subprocess import PIPE,Popen
 4 
 5 p = Popen(['dmidecode'],stdout=PIPE)
 6 data = p.stdout
 7 lines = []
 8 dmi = {}
 9 a = True
10 while a:
11     line = data.readline()
12     if line.startswith('System Information'):
13         while True:
14             line = data.readline()
15             if line == '
':
16                 a = False
17                 break
18             else:
19                 lines.append(line)
20 dmi_dict = dict([i.strip().split(':') for i in lines])
21 print dmi_dict
22 for k,v in dmi_dict.items():
23     dmi[k] = v.strip()
24 print dmi
原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/5680845.html