设为首页 加入收藏

TOP

Python 提取Linux的硬件信息(四)
2018-11-26 18:10:48 】 浏览:416
Tags:Python 提取 Linux 硬件 信息
dic['vender'] = dmi_dic['Manufacturer'].strip()
    dic['product'] = dmi_dic['Product Name'].strip()
    dic['sn'] = dmi_dic['Serial Number'].strip()
    return dic
 
 
''' 获取Linux系统主机名称 '''
 
 
def getHostname():
    p = Popen(['hostname'], stdout=PIPE)
    data = p.stdout.read().split('\n')[0]
    return {'hostname': data}
 
 
''' 获取Linux系统的版本信息 '''
 
def getOsVersion():
    with open('/etc/issue') as fd:
        for line in fd:
            osver = line.strip()
            break
    return {'osver': osver}
 
 
''' 获取CPU的型号和CPU的核心数 '''
 
 
def getCpu():
    num = 0
    with open('/proc/cpuinfo') as fd:
        for line in fd:
            if line.startswith('processor'):
                num += 1
            if line.startswith('model name'):
                cpu_model = line.split(':')[1].strip().split()
                cpu_model = cpu_model[0] + ' ' + cpu_model[2] + ' ' + cpu_model[-1]
    return {'cpu_num': num, 'cpu_model': cpu_model}
 
 
''' 获取Linux系统的总物理内存 '''
 
 
def getMemory():
    with open('/proc/meminfo') as fd:
        for line in fd:
            if line.startswith('MemTotal'):
                mem = int(line.split()[1].strip())
                break
    mem = '%.f' % (mem / 1024000.0) + ' GB'
    return {'Memory': mem}
 
 
 
 
def main():
    dic = {}
    data_ip = getIfconfig()
    parsed_data_ip = parseData(data_ip)
    ip_out = parseIfconfig_out(sys.argv[1])
    ip_in = parseIfconfig_in(sys.argv[2])
 
    data_dmi = getDmi()
    parsed_data_dmi = parseData(data_dmi)
    dmi = parseDmi(parsed_data_dmi)
 
    acc_disks = dev_phy_size()
    # print acc_disks
 
    hostname = getHostname()
    osver = getOsVersion()
    cpu = getCpu()
    mem = getMemory()
 
    dic.update(ip_in)
    dic.update(ip_out)
    dic.update(dmi)
    dic.update(hostname)
    dic.update(osver)
    dic.update(cpu)
    dic.update(mem)
    dic.update(acc_disks)
    return dic
 
 
def db_connect():
    conn = pymysql.connect(host="x.x.x.x",
                          db='xxxxx',
                          user="root",
                          passwd="*******",
                          charset="utf8")
    cur = conn.cursor()
    return conn,cur
 
def save_mysql(conn, cur, dic):
&n
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言列出真分数序列代码及解析 下一篇C语言求勾股数代码及解析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目