我正在使用Fedora 17 64位,安装了dmidecode和python-dmidecode,在搜索关于如何使用python的文档时,我还没有找到任何东西。我在浏览源代码时找到了一个例子,但没有其他的例子。任何熟悉这个模块的人以及如何在python中访问它?任何你能给我参考的文档都会有帮助。
我正在尝试获取Fedora 17中的硬件规范:
在使用管理命名空间的中,我能够获得以下所有内容:是否可以通过?在中获得相同的
BIOS
- Name
Motherboard
- Manufacturer
- Model
CPU
- Name
- Architecture
- NumberOfCores
- CurrentClockSpeed
Memory
- Name
- Manufacturer
- MemoryType
- Speed
- DeviceLocator
- Capacity
- Model
Video
- Name
- VideoProcessor
- AdapterRam
- VideoMemoryType
- VideoArchitecture
- VideoMode
Network
- Name
- ProductName
- Manufacturer
- PhysicalAdapter
HardDrive
- Index
- Description
- InterfaceType
- Manufacturer
- Model
- Size
- Partitions发布于 2012-12-11 19:30:56
通过使用以下方法,我们可以获得我需要的所有数据:
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'的类型,以确保它是一个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']))https://stackoverflow.com/questions/13814428
复制相似问题