Использование системы Win 10 для доступа ко всем подключенным устройствам с помощью диспетчера устройств и сценария Py - PullRequest
1 голос
/ 04 июля 2019

Я не могу получить доступ к дискам в системе Windows, используя пакет infi.manager, найденный в PyPi.

Попробовал следующее:

  from infi.devicemanager import DeviceManager
  dm = DeviceManager()
  dm.root.rescan()
  disks = dm.disk_drives
  names = [disk.friendly_name for disk in disks]

Сообщения об ошибках:

Traceback (most recent call last):  
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 56, in callee  
    yield decorated_func(*args, **kwargs)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 70, in SetupDiEnumDeviceInfo
    interface(device_info_set, index, device_info_buffer)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\cwrap\__init__.py", line 138, in __new__
    return_value = function(*args[1:], **kwargs)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\__init__.py", line 35, in errcheck
    raise WindowsException(GetLastError())
infi.devicemanager.setupapi.WindowsException: 259, No more data is available.

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (most recent call last):
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 60, in callee
    raise StopIteration
StopIteration

Вышеуказанное исключение было прямой причиной следующего исключения:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 215, in disk_drives
    for controller in self.storage_controllers:
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 227, in storage_controllers
    return self.get_devices_from_handle(handle)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 198, in get_devices_from_handle
    for devinfo in functions.SetupDiEnumDeviceInfo(handle):
RuntimeError: generator raised StopIteration
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...