pyserial не выводит весь список COM портов
вот все ком порты которые у меня есть
в ответ на свою програму serial.tools.list_ports.comports()
я получаю лишь COM1 - Communications Port (COM1)
. Когда в коде я прописываю serial.tools.list_ports.main()
то выводит все ком порты правда без названия, только номер. Вопрос как это решить? На другом модеме всё ок а вот прикупил новый модем начал допиливать прогу для него и тут такое, модем если что на чипе от MediaTek и дрова тоже MTKашеные. Вот весь код для понимания ситуации
import serial
import re
import time
import serial.tools.list_ports
def serialget():
ncm=1
while True:
ports = serial.tools.list_ports.comports()
for port in ports:
for i in port.__str__().split('\n'):
try:
ii=""
if i.find('Intel Mobile (acm2)') != -1:
ncm=0
ii=i
print("fine")
elif i.find('USB Serial Device') != -1:
ncm=11
ii=i
elif i.find('MD AT') != -1:
print("FM350")
ncm = 350
ii=i
com = re.findall(r'\w{1,100}', ii)
for el in com[:1]:
comport = str(el)
ser = serial.Serial(port=comport, baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=True, writeTimeout=None, dsrdtr=False, interCharTimeout=None)
return ser, ncm
except:
time.sleep(2)
serialget()
serialget()
Ответы (1 шт):
Вообщем я нашёл способ решить свою проблему это просто в цикле не конвертировать ports в str, а написать там description
import serial.tools.list_ports
ports=serial.tools.list_ports.comports()
for a in ports:
print(a.description)
в консоли мне уже выводит весь список портов так что то кто так же как и я затупил пользуйтесь