4

私はFedora1764ビットを使用しており、 dmidecodepython-dmidecodeをインストールしていますが、python-dmidecodeの使用方法に関するドキュメントを検索していますが、まだ何も見つかりません。ソースを閲覧しているときに例を見つけましたが、他には何もありません。このモジュールとPythonでモジュールにアクセスする方法に精通している人はいますか?あなたが私を参照できるどんな文書も役に立ちます。

Fedora17でハードウェア仕様を取得しようとしています。

Management名前空間を使用するC#では、次のすべてを取得できました 。Pythonを介してLinuxで同じものを取得することは可能ですか?

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
4

1 に答える 1

7

以下を使用することで、必要なすべてのデータを取得できます。

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']))
于 2012-12-11T19:30:56.847 に答える