以下を使用することで、必要なすべてのデータを取得できます。
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
これを参照すると辞書が返されます。次に、独自のdictを作成し(私の場合BIOSdict = []
)、次のようにキーと値を追加できます。
BIOSdict["Name"] = str((v['data']['Vendor']))