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:结束方法执行。
相关推荐
硅基手札12 小时前
【Linux内核专栏 14】网络协议栈
linux·运维·网络协议
可乐鸡翅yeah_13 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
北冥有鱼被烹13 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python
for_ever_love__14 小时前
线性回归与梯度下降——从零手写一个模型
python·机器学习·线性回归·梯度下降
沫璃染墨14 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
code_whiter14 小时前
7.自动化测试常用函数
python·功能测试
工作10年+,存储芯片行业14 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
小园子的小菜14 小时前
Python协程深度解析:从原理演进到实战避坑
后端·python
酣大智14 小时前
H3C MSR3600 交换机配置 SSH
网络·ssh·智能路由器
砚底藏山河15 小时前
量化实战:截面因子有效性检验(IC 分析与分层回测)
java·python·金融·maven