獲取端口信息
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)
