python獲取內存SN編號等信息

物理機內存檢查,

#!/usr/bin/env python
# -*-coding:UTF-8 -*-
import os

memdict = dict()
memditail = dict()

#os.popen()
os.system(' dmidecode -t memory >./mem.txt ')
memstr=os.popen('cat ./mem.txt')
mem_count=os.popen("cat  ./mem.txt  |grep 'Number Of Devices' |awk -F':'  '{print $2}'").read()

#mem_count = memstr.read().count("Memory Device")
#mem_count = os.popen(" dmidecode -t 17").read()

Device_info = memstr.read().split("Memory Device")
for  i    in range(0, len(Device_info) ):

        # print("Memory Device"+str(i),Device_info[i])
#        print(i, Device_info[i].strip())

        for eachline in Device_info[i].split("\n"):

                count = eachline.count(":")

                if count == 1:
                        memditail[eachline.split(':')[0].strip()] = eachline.split(':')[1]
                        memdict[i] = dict(memditail)

                else:
                        pass
#print(memdict)
# 總的內存信息
Mem_max_capacity = memdict[0]["Maximum Capacity"]
Devices_count = memdict[0]["Number Of Devices"]
print("1、統計每個插槽內存信息:")
Memorysum = 0
for i in range(1, int(mem_count) + 1):
	Device_name = "Memory Device" + str(memdict[i]["Locator"])
	Device_slot = memdict[i]["Locator"]
	Device_width = memdict[i]["Data Width"]
	Device_size = memdict[i]["Size"]
	Device_factor = memdict[i]["Form Factor"]
	Device_type = memdict[i]["Type"]
	Device_speed = memdict[i]["Speed"]
	Device_sn = memdict[i]["Serial Number"]
	Device_clock_speed = memdict[i]["Configured Clock Speed"]
	Device_min_voltage = memdict[i]["Minimum Voltage"]
	Device_max_voltage = memdict[i]["Maximum Voltage"]
	#Memorysum += int(Device_size.split("MB")[0])
	print("設備名稱%s:".center(80, "-") % Device_name)
	print("\n內存插槽:%s    內存大小:%s 內存類型:%s   內存SN編號:%s   主頻:%s\n" % (
	Device_slot, Device_size, Device_type, Device_sn, Device_clock_speed))
#Memorysum = Memorysum / 1024

#print("2、信息彙總:\n此主機可安裝內存的最大容量爲:%s \n主機安裝的內存數量爲:%s根 目前內存容量爲:%s  \n" % (Mem_max_capacity, Devices_count, Memorysum))


image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章