zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    mysql合并数据
    java协变类型返回
    OSI网络七层模型理解
    mysql性能优化学习
    redis lock 和 tryLock 实际使用区别
    多字段关联同一张表
    第一个Mabits程序
    Mybatis使用Map来实现传递多个参数及Mybati实现模糊查询
    使用Mybatis框架的步骤
    sql小技巧
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/5680845.html
Copyright © 2011-2022 走看看