日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php执行dmidecode,Python:Dmidecode系统信息

發布時間:2025/3/20 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php执行dmidecode,Python:Dmidecode系统信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# dmidecode | less

我們通過?dmidecode 命令可以獲取廠商、產品型號、序列號等、但是?dmidecode 命令輸出的信息太多,我們只需要?System Information 下的?Manufacturer、Product Name、Serial Number?三個信息,并以字典形式輸出。

若沒有?dmidecode 命令,安裝即可:yum install -y dmidecode

代碼如下:

# vim dmi.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']

dmi_dic['product']?=?dic['Product?Name']

dmi_dic['sn']?=?dic['Serial?Number']

return?dmi_dic

if?__name__?==?'__main__':

print?dmiDic()

代碼說明:

dmi_list = [i for i in data.split('\n') if i]

是以 \n 對字符串進行切割,保存為一個列表。但是空行就會被切割成為了一個空字符串,if i 則起到去除空字符串效果,因為空字符串為False,只有為True才會被保存到列表中。

if not line[0].strip():

這是因為?System Information 下一行都是以 tab(\t)開頭的,strip函數是去除字符串前后的空格或者tab,line[0].strip()則是對第一個字符執行strip,若該字符為空格或者tab,則會被去除,形成一個空字符,而空字符的類型為False,not line[0].strip()則為True。

執行結果如下:

總結

以上是生活随笔為你收集整理的php执行dmidecode,Python:Dmidecode系统信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。