如何使用“serial.tools.list_ports”python 模块获取可用串行端口的列表?

2024-03-19

我是 python 新手,我需要一个可用串行端口列表来在程序中选择其中一个。根据This https://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.list_ports, the serial.tools.list_ports模块可以通过执行来为我做到这一点serial.tools.list_ports.comports()方法。因此,我在Python解释器中执行了以下代码:

import serial.tools.list_ports
a=serial.tools.list_ports.comports()
print(a)

结果是:

[<serial.tools.list_ports_linux.SysFS object at 0x7f2503d27be0>]

当我使用以下命令时ubuntu终端

python3 -m serial.tools.list_ports

它返回我想要的:

/dev/ttyUSB0        
1 ports found

哪里有问题?


根据您链接的文档,

该函数返回一个列表列出端口信息 https://pyserial.readthedocs.io/en/latest/tools.html#serial.tools.list_ports.ListPortInfo对象。

它们有几个可以使用的属性,例如device:

完整的设备名称/路径,例如/dev/ttyUSB0

为了模拟命令python3 -m serial.tools.list_ports,你可以这样做:

import serial.tools.list_ports

ports = serial.tools.list_ports.comports()
for p in ports:
    print(p.device)
print(len(ports), 'ports found')

Which is a simplified version of what it actually does https://github.com/pyserial/pyserial/blob/master/serial/tools/list_ports.py#L85.

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

如何使用“serial.tools.list_ports”python 模块获取可用串行端口的列表? 的相关文章

随机推荐

  • Django TypeError:没有主键值的模型实例是不可散列的

    我有我的models py如下 class Article models Model date models DateTimeField null True blank True title models TextField default
  • 如何根据用户摘要生成随机 5 位数字

    大家好 我尝试根据用户总摘要生成 50 个 5 位数字 例如 用户给出 500000 然后我需要随机数 5 位乘 50 个数字等于 500000 我尝试了这个 但它不是 5 位数字 int balane 500000 int nums 50
  • 双向git镜像

    我有兴趣将本地 git 存储库设置为远程存储库的镜像 我读过一些可能相关的帖子 但主要区别是我需要对两个存储库具有读写访问权限 大多数时候 用户将针对 Repo A 进行工作 但有时他们会针对 Repo B 进行工作 并且这些需要通过服务器
  • 统计某个时间段之前和之后存在的值

    我有以下简单的表格 您也可以在SQL Fiddle here http www sqlfiddle com 9 74d8fb 3 CREATE TABLE Orders Customer TEXT Order Date DATE INSER
  • 带有 CSS 的 GWT Html 文件

    当我使用 GWT 插件创建新项目时 它会为我创建一个框架项目 在html文件中有一条注释说 考虑内联 CSS 以减少请求的文件数量 为什么我要考虑使用内联CSS 我很难将 css 放在单独的文件中而不是内联 会减少文件的大小吗 不是吗 答案
  • 检查 Wicket 中的用户代理

    我使用的是 wicket 1 5 但我无法在getClientInfo 方法 WebRequest RequestCycle get getRequest 我在其他地方看到了这段代码 WebClientInfo clientInfo Web
  • YARN 作业历史记录不可访问

    我正在使用来自源代码的最新 hadoop 版本 3 0 0 我已经启动并运行了时间轴服务 并配置了 hadoop 以将其用于作业历史记录 但是 当我单击资源管理器 UI 中的历史记录时 出现以下错误 HTTP ERROR 404 Probl
  • 如果在从开始到结束迭代时对地图元素调用擦除()会发生什么?

    在下面的代码中 我循环遍历地图并测试是否需要删除元素 擦除元素并继续迭代是否安全 或者我是否需要在另一个容器中收集密钥并执行第二个循环来调用擦除 map
  • 无法调整大小的 JFrame 包错误

    JFrame s pack 当窗口无法调整大小时 该方法不会每次都起作用 请亲自尝试一下 可能需要重试几次 import javax swing import java awt public class FramePackBug publi
  • Eclipse javadoc 注释中的错误换行

    我认为 Eclipse 内置的 Java 格式化程序中有一个小但烦人的错误 我有一个 Javadoc 注释 如下所示 stuff code mTasksBelow 其中末尾的句点位于第 81 列中 格式化程序设置为在第 80 行包装 Jav
  • 如何在Python中正确实现映射协议?

    我正在使用 python spidermonkey 它在内部使用 PyMapping Check 来识别用作全局对象 在 rt new context global 中 是否实现了映射协议 这基本上是传递给 python spidermon
  • 更改 Magento 的“新产品”模块的默认产品限制

    据我了解 默认情况下 Magento 的 新产品 模块 new phtml 显示列出的最后 8 个产品 如何更改默认值 甚至可能完全删除限制 是的 这将完全改变 新产品 模块的行为 我理解 谢谢你 新产品块 Mage Catalog Blo
  • 视频错误:V4L:找不到摄像头设备

    我正在使用 ubuntu16 04 并尝试运行 opencv 脚本 当我使用时 video capture cv2 VideoCapture 1 它给我错误视频错误 V4L 找不到相机设备 没有打开视频窗口 但当我跑步时 video cap
  • 从函数获取输入 - C++ [重复]

    这个问题在这里已经有答案了 我在 C 中遇到了一个问题 我调用了一个为事物分配一些值的函数 但这些分配在函数完成后丢失了 这是我的代码 include
  • 如何缩小 Node.js 应用程序? (服务器端node.js,而不是客户端javascript)

    我想将我所有的大型 Node js 项目 编译 成一个巨大的 javascript 文件 然后我可以使用 Node Index js 运行它并开箱即用 Thanks 您可以使用 Browserify 来完成此操作 使用 bare可以选择忽略
  • 编译器看不到接口中的默认实现?

    这是我在一个 c 项目中的代码 该项目针对 NET Core 3 0 所以我应该使用 C 8 0 和 Visual Studio 2019 16 3 9 public interface IJsonAble public string To
  • 具有 JavaScript 执行功能的 Node.js Web 浏览器

    有没有node npm该模块将抓取网页或给定 URL 的内容 并像现实生活中的 Web 浏览器一样执行和评估其 JavaScript 包括XMLHttpRequest对象和类似的东西 我以为刮刀js https www npmjs com
  • 多个可选 WHERE 参数

    我想为一组 SQL 查询创建一个过滤器 以便用户可以按最多三个值过滤 SQL SELECT 用户界面具有三个文本框 每个文本框都与 SQL 表中的列名称相关联 用户可以通过这些文本框提供一个 两个或三个标准 这是我到目前为止所拥有的 我知道
  • 我可以根据已知的 MAC 地址确定当前的 IP 吗?

    我有一个 shell 脚本 它使用 etherwake 来唤醒本地网络上的机器 机器唤醒后 我不确定IP地址 在尝试回答我自己的问题时 我想出了 ip ping c 1 hostname head 1 awk print 3 sed s g
  • 如何使用“serial.tools.list_ports”python 模块获取可用串行端口的列表?

    我是 python 新手 我需要一个可用串行端口列表来在程序中选择其中一个 根据This https pyserial readthedocs io en latest tools html module serial tools list