Python获取当前系统中可用的串口设备

python 复制代码
import serial.tools.list_ports

def checkDevice(self):
    port_data = []
    for port in serial.tools.list_ports.comports():
      port_data.append(port.description)

    if port_data:
      for devInfo in port_data:
        self.toolLogPrinting('可用设备' + devInfo)
      RET =  True
    else:
      self.toolLogPrinting('未连接可用设备...')
      RET =  False
    port_data.clear()
    return RET

代码功能解释

这段代码的功能是检查当前系统中可用的串口设备,并将结果打印到日志中。

具体步骤如下:

  1. **初始化列表**:创建一个空列表 `port_data` 用于存储串口设备描述。

  2. **遍历串口**:使用 `serial.tools.list_ports.comports()` 获取所有串口设备,并将每个设备的描述添加到 `port_data` 列表中。

  3. **判断设备是否存在**: - 如果 `port_data` 不为空,遍历并打印每个设备的描述信息,返回 `True`。 - 如果 `port_data` 为空,打印"未连接可用设备...",返回 `False`。

  4. **清理列表**:清空 `port_data` 列表。

控制流图

解释

  • A :开始执行 checkDevice 方法。
  • B :调用 serial.tools.list_ports.comports() 获取所有串口设备。
  • C :遍历获取到的串口设备,并将描述信息存入 port_data 列表。
  • D :判断 port_data 列表是否为空。
  • E :如果列表为空,打印"未连接可用设备...",并返回 False
  • F:如果列表不为空,遍历并打印每个设备的描述信息。
  • G :返回 True
  • H :返回 False
  • I :清空 port_data 列表。
  • J:结束方法执行。
相关推荐
花嫁代二娃41 分钟前
Linux:环境变量
linux
nbsaas-boot2 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
仗剑_走天涯2 小时前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
chao_7892 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
古希腊数通小白(ip在学)4 小时前
stp拓扑变化分类
运维·服务器·网络·智能路由器
l1x1n06 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
chao_7896 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
烛阴7 小时前
Python装饰器解除:如何让被装饰的函数重获自由?
前端·python
noravinsc7 小时前
django 一个表中包括id和parentid,如何通过parentid找到全部父爷id
python·django·sqlite
ajassi20007 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化