如何检测新的 USB 设备已连接到 Python

新手上路,请多包涵

我想做一些在后台运行的东西,只有在计算机检测到新设备连接后,其余代码才会运行,有什么优雅的方法可以做这样的事情吗?

原文由 Harel2320 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 782
1 个回答

这取决于操作系统

在 Linux 中,您可以为此使用 pyudev

几乎公开了完整的 libudev 功能。你可以:

  • 枚举设备,按特定条件过滤(pyudev.Context)
  • 查询设备信息、属性和属性,
  • 监视设备,与后台线程同步和异步,或在 Qt(pyudev.pyqt4、pyudev.pyside)、glib(pyudev.glib)和 wxPython(pyudev.wx)的事件循环中。

https://pyudev.readthedocs.io/en/latest/

源代码在 http://pyudev.readthedocs.io/en/v0.14/api/monitor.html ,见 receive_device() 功能

在 Windows 中,您可以使用 WMI(Windows Management Instrumentation),如 https://blogs.msdn.microsoft.com/powershell/2007/02/24/displaying-usb-devices-using-wmi/(Python 阅读设备管理器信息)或 python 绑定,如 https://pypi.python.org/pypi/infi.devicemanager

原文由 ralf htp 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题