dmidecode收集系統(tǒng)信息
創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吉林企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、做網(wǎng)站,吉林網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。[root@133 systeminformation]# vim dmidecode_1.py #!/usr/bin/env python from subprocess import Popen,PIPE p = Popen(['dmidecode'],stdout=PIPE) data=p.stdout line_s = [] #定義一個空列表 dmi = {} #定義一個空字典 a = True #設(shè)置標(biāo)志位 a = True while a: line = data.readline() if line.startswith('System Information'): #判斷以System Information開頭的段, while True: line = data.readline() if line == '\n': #取該段落,直到有空行 a = False break else: line_s.append(line) dmi_dic = dict([i.strip().split(':') for i in line_s]) #把空格和換行符刪除 dmi['Manufacturer'] = dmi_dic['Manufacturer'].strip() #打印key= Manufacturer的鍵值對 print dmi print {'\n'*20} for k,v in dmi_dic.items(): #打印以System Information開頭的段,以key、value打印出來 dmi[k] = v.strip() print dmi [root@133 systeminformation]# python dmidecode_1.py {'Manufacturer': 'Dell Inc.'} set(['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n']) {'SKU Number': 'Not Specified', 'UUID': '4C4C4544-0048-4210-8044-B4C04F543258', 'Family': 'Not Specified', 'Serial Number': '4HBDT2X', 'Version': 'Not Specified', 'Product Name': 'PowerEdge R710', 'Wake-up Type': 'Power Switch', 'Manufacturer': 'Dell Inc.'}
注意:在Python里,以下這些對象相當(dāng)于布爾值的False
空列表([] )
空元組(() )
空字典({} )
空字符串('' )
零值(0 )
特殊對象None
對象False
[root@133 systeminformation]# cat dmidecode_2.py #!/usr/bin/env python from subprocess import Popen,PIPE def getDmi(): p = Popen(['dmidecode'], stdout = PIPE) data = p.stdout.read() return data def parseDmi(data): lines = [] line_in = False dmi_list = [i for i in data.split('\n') if i] for line in dmi_list: if line.startswith('System Information'): line_in = True continue if line_in: if not line[0].strip(): lines.append(line) else: break return lines def dmiDic(): dmi_dic = {} data = getDmi() lines = parseDmi(data) dic = dict ([i.strip().split(':')for i in lines]) dmi_dic['vendor'] = dic['Manufacturer'] return dmi_dic if __name__ == '__main__': print dmiDic() [root@133 systeminformation]# python dmidecode_2.py {'vendor': ' Dell Inc.'} In [1]: a='' #a的值是null,not a = True In [2]: not a Out[2]: True In [3]: a=' '#a的值是空格或者\(yùn)t, a!=null, not a = False In [4]: not a Out[4]: False In [5]: a='\t' In [6]: a Out[6]: '\t' In [7]: not a Out[7]: False In [8]: a='\t' In [9]: a Out[9]: '\t' In [10]: a.strip() Out[10]: '' In [11]: not a.strip() Out[11]: True In [12]: a=' ' In [13]: not a Out[13]: False In [14]: a.strip() Out[14]: '' In [15]: not a.strip() Out[15]: True
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。