python 自動獲取埠資訊和系統判斷
阿新 • • 發佈:2021-06-29
獲取埠資訊
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)