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('\n') 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 == '\n':
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值