想通了,通过使用以下我们可以获得我需要的所有数据:
import dmidecode
def getBIOS():
for v in dmidecode.bios().values():
if type(v) == dict and v['dmi_type'] == 0:
BIOSdict["Name"] = str((v['data']['Vendor']))
BIOSdict["BuildNumber"] = str((v['data']['Version']))
BIOSdict["SoftwareElementID"] = str((v['data']['BIOS Revision']))
我们迭代dmidecode.bios().values()
查找每个数据字段。我们可以通过参考下表来了解使用哪个函数。这也位于此链接。
然后我们检查类型'v'
以确保它是 a dictionary
(这就是我在我的例子中使用的)并且我们检查'dmi_type
' 是我们正在搜索的正确代码。
例如:
Type Information
----------------------------------------
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9
如果我们想获取 BIOS 信息,我们将引用它,v['dmi_type'] == 0
这将返回一个字典。然后我们可以创建自己的字典(在我的例子中BIOSdict = []
)并添加键和值,如下所示:
BIOSdict["Name"] = str((v['data']['Vendor']))