Python Прочитайте информацию диспетчера устройств

Мне просто нужно прочитать всю информацию, которая указана в диспетчере устройств с помощью скрипта Python 2.7. Особенно информация в подкатегории "IDE ATA/ATAPI контроллеры". Это необходимо, чтобы определить, находятся ли диски SATA в режиме AHCI или IDE...

Диспетчер устройств

2 ответа

Один простой способ (в Windows) — использовать API диспетчера устройств Windows. Здесь есть привязка Python . После установки пакета приведенный ниже код будет работать нормально:

      from infi.devicemanager import DeviceManager
dm = DeviceManager()
dm.root.rescan()
devices = dm.all_devices
for device in devices:
    print(device)

Мой путь не идеален, но пока это хорошее решение для меня, просто для справки. Через devcon.exe, который находится в WDK(Windows Dev... Kit), и мой код, как показано ниже.

try:
    output = subprocess.Popen(["devcon","status","*"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)    #useing comma "," not space " " in Popen[]. replace the key word "*" to what you want to search.
    stdout, stderr = output.communicate()
    print "output: \n", output
    print "stdout: \n", stdout  # output here if ok. 
    print "stderr: \n", stderr  # output if no arg     
except subprocess.CalledProcessError:
    print('Exception handled')   
Другие вопросы по тегам