在python中获取友好的设备名称

2023-11-25

我有一个 2 端口信号继电器通过 USB 串行接口连接到我的计算机。使用 pyserial 模块,我可以轻松控制这些继电器。然而,这是基于这样的假设:我事先知道设备分配给哪个 COM 端口(或 /dev 节点)。

对于我正在做的项目来说,这还不够,因为我不想假设设备总是分配给 Windows 中的 COM7。我需要能够使用 python 在可能的平台(Win、Linux、OSX(我想这与 Linux 方法类似))上以编程方式识别设备。也许,正如标题所示,枚举系统上的 USB 设备并以某种方式为它们获取更友好的名称。 Windows 和 Linux 是最重要的支持平台。

任何帮助将不胜感激!

EDIT:
看起来 pyudev 模块非常适合 Linux 系统。有人有这方面的经验吗?


对于 Linux,如果您只需要枚举设备,您甚至可以跳过项目的 pyudev 依赖项,并简单地解析输出/sbin/udevadm info --export-db命令(不需要 root 权限)。它将转储有关当前设备和类别的所有信息,包括 USB 设备的 USB 产品 ID,这应该足以识别您的 USB 转串行适配器。当然,你也可以使用 pyudev 来完成此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在python中获取友好的设备名称 的相关文章

随机推荐

  • T-SQL 中“\”和“$”的用法是什么?

    正如我发现的 在 SQL Server 书籍中 Backslash Transact SQL 将长字符串常量分成两行或更多行以提高可读性 and SELECT Clause Transact SQL IDENTITY ROWGUID And
  • 将元数据存储在 CSV 文件中

    我知道这是对 CSV 格式的滥用 我确实明白更合适的解决方案是导出xls xlsx文件 或为用户提供 OData 端点并让他们使用 power hub 检索数据 此时我想坚持使用 CSV 因为它更容易实现 我需要将平面行列表 报告 导出为
  • 如何最好地在 C# 中实现可公开访问的常量

    在 C 中实现可公开访问的常量似乎有三种选择 我很好奇是否有任何充分的理由选择其中之一 或者这只是个人喜好问题 Choice 1 私有字段加上属性获取器 private const string someConstant string th
  • 如何将表单添加到控制台应用程序以便用户可以选择文件?

    我创建了一个控制台应用程序并让它按照我想要的方式工作 使用VS2010中的 添加项目 gt 添加Windows窗体 选项 它已经自动创建了我需要的内容 我添加了一个按钮和代码来检索 Excel 文件 如下 我的问题是 我如何获取他们创建的文
  • 在 Open ES iPhone 应用程序中使用 VAO 围绕 VBO 会导致调用 glDrawElements 时 EXC_BAD_ACCESS

    我正在尝试将我的代码提升到一个新的水平 遵循 Apple 的一些最佳实践 我尝试围绕我的顶点缓冲区对象 VBO 实现顶点数组对象 我像这样设置我的 VBO 和 VAO void setupVBOs glBindBuffer GL ARRAY
  • 如何使用Python在屏幕上绘制一个空矩形

    我不是专家 我试图在屏幕上显示一个矩形 该矩形从固定起点开始跟随鼠标移动 就像您在文字或绘画中选择某些内容一样 我带着这个代码 import win32gui m win32gui GetCursorPos while True n win
  • 如何将 ATL/MFC CString 转换为 QString?

    鉴于项目的编码可能是 Unicode 但不确定 将 ATL CString 转换为 QString 的最佳方法是什么 我想到的是这样的 CString c T SOME TEXT std basic string
  • 将 Guice 组件集成到 Spring 应用程序中

    我们有一个基于 Spring 框架的应用程序 需要集成使用 Google Guice 构建的组件 有人能给我们一些关于如何做到这一点的建议吗 我们遇到了以下链接 展示了如何将 Spring 集成到 Guice 中 但我们需要相反的方式 ht
  • 匹配文件对象中的多行正则表达式

    如何从文件对象 data txt 中提取此正则表达式中的组 import numpy as np import re import os ifile open data txt r Regex pattern pattern re comp
  • 一个xib,几个子类

    我有一个用于自定义 UIView 子类的 xib 文件 工作正常 我能够加载正确的 nib 并创建我的类的实例 它包含我添加到 xib 文件中的所有子视图 但是 我也对该视图进行了子类化 但我不知道如何创建此类的实例并让它使用父类使用的 x
  • 如何从apireact.js下载excel响应

    我的 api 的响应类似于此演示 URL https mytutari com webservices contract exportcallnote 10377431 如果我单击 url 它会自动下载 但是当我尝试在 axios 响应中使
  • 将整数拆分为 bin

    给定一个整数和 bin 的数量 如何将整数分成尽可能相等的部分 例如 输出的总和应等于输入整数 in x 20 num bins 3 out 7 7 6 另一个例如 in x 20 num bins 6 out 4 4 3 3 3 3 我试
  • (OpenGL 3.1 - 4.2) 动态统一数组?

    假设我有 2 个物种 例如人类和小马 它们具有不同的骨骼系统 因此每个物种的统一骨骼阵列必须有所不同 我是否必须实现两个单独的着色器程序才能正确渲染每个骨骼数组 或者是否有办法动态声明统一数组并迭代该动态数组 牢记性能 所有着色器在决策分支
  • Maven 对 JRE 的使用感到困惑

    我已经在 Eclipse 中创建了一个项目并添加了 Maven 依赖项 在 Eclipse 中 它显示我正在使用 JRE 1 5 Eclipse 中一切正常 例如 我可以运行我的测试 当我尝试跑步时mvn clean install从终端
  • OLEDB 连接没有刷新日期

    我需要以编程方式检查 Excel 中许多 OLEDB 数据连接到 SQL 表和视图的刷新日期 它们都以相同的方式配置并使用相同的连接字符串 我使用以下方式在 VBA 中检查它们 Connections OLEDBConnection Ref
  • Tkinter.PhotoImage 不支持 png 图像

    我正在使用 Tkinter 编写 GUI 并希望在Tkiner Label 所以我有一些这样的代码 self vcode img PhotoImage data open test png read format png self vcod
  • 参考 - 这个错误在 PHP 中意味着什么?

    这是什么 这是关于您在 PHP 编程时可能遇到的警告 错误和通知的一些答案 但不知道如何修复它们 这也是一个社区 Wiki 因此邀请每个人参与添加和维护此列表 为什么是这样 诸如此类的问题 标头已发送 or 调用非对象的成员 经常出现在 S
  • UIPageViewController,如何正确跳转到特定页面而不打乱数据源指定的顺序?

    我发现了一些关于如何制作的问题UIPageViewController跳转到特定页面 但我注意到跳转时存在一个额外的问题 似乎没有一个答案承认这一问题 无需深入了解我的 iOS 应用程序 类似于分页日历 的详细信息 这就是我所经历的 我声明
  • CoreData:如何按主键对 NSManagedObject 进行排序?

    我有一个 NSManagedObject 的子类 如下所示 并通过 NSManagedObjectContext 存储了一些实例 interface SomeModelObject NSManagedObject property nona
  • 在python中获取友好的设备名称

    我有一个 2 端口信号继电器通过 USB 串行接口连接到我的计算机 使用 pyserial 模块 我可以轻松控制这些继电器 然而 这是基于这样的假设 我事先知道设备分配给哪个 COM 端口 或 dev 节点 对于我正在做的项目来说 这还不够