首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Win 10系统使用设备管理器和Py脚本访问所有连接的设备

使用Win 10系统使用设备管理器和Py脚本访问所有连接的设备
EN

Stack Overflow用户
提问于 2019-07-04 05:19:30
回答 1查看 426关注 0票数 1

我无法使用infi.manager包访问PyPi系统上的磁盘驱动器。

试了以下几点:

代码语言:javascript
复制
  from infi.devicemanager import DeviceManager
  dm = DeviceManager()
  dm.root.rescan()
  disks = dm.disk_drives
  names = [disk.friendly_name for disk in disks]

错误信息:

代码语言:javascript
复制
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.

在处理上述异常的过程中,发生了另一个异常:

代码语言:javascript
复制
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

上述异常是导致以下异常的直接原因:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2022-09-28 13:51:52

代码语言:javascript
复制
from infi.devicemanager import DeviceManager
dm = DeviceManager()
dm.root.rescan()

devices = dm.all_devices
for device in devices:
    print(device)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56881105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档