python 自动获取端口信息和系统判断

获取端口信息

from serial.tools import list_ports
port_list = list(list_ports.comports())
num = len(port_list)
ports = []
if num <= 0:
    print("找不到任何串口设备")
else:
    for i in range(num):
        port = (list(port_list[i]))
        ports.append(port)
print(ports)

--------------------------------------
[['COM5', 'USB Serial Port (COM5)', 'USB VID:PID=0403:6001 SER=AB0LUT4CA'], ['COM4', 'USB Serial Port (COM4)', 'USB VID:PID=0403:6001 SER=A10KH1VKA']]
说明:本人电脑插了2个usb串口,分别是COM4和COM5
这套代码也支持更多串口信息

系统判断

因为工作需求,写的python代码要在Window系统和 Linux 系统环境都能够执行,所有对借用 platform 第三方模块添加判断,具体操作如下程序

import platform
if platform.system() == "Windows":
    print("在Windows系统上执行任务")
elif platform.system() == "Linux":
    print("在Linux系统上执行任务")
else:
    print("我们选择的系统可以有异常哦")

自动捕获串口端口号并且支持Window系统和 Linux 系统通用型

import serial

# 获取端口
try:

    from serial.tools import list_ports
    port_list = list(list_ports.comports())
    num = len(port_list)
    ports = []
    if num <= 0:
        print("找不到任何串口设备")
    else:
        for i in range(num):
            port = (list(port_list[i]))
            ports.append(port)
    ser = serial.Serial(port=ports[1][0], baudrate=9600, bytesize=8, parity="N", stopbits=1, timeout=0.1)
except Exception as e:
    print(f"串口设备异常,查看串口是否正常连接线路", e)
python
原文地址:https://www.cnblogs.com/bky20061005/p/14950790.html