import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
print(ports)
#[<serial.tools.list_ports_common.ListPortInfo object at 0x000001D48771C9B0>, <serial.tools.list_ports_common.ListPortInfo object at 0x000001D48866FB00>]
正如您所看到的,comports 不可读,我可以通过 for 循环使其可读,但我需要它在带有可读单词的列表中,例如。 ["COM1"、"COM2"、"COM3"]
任何人有任何想法来改变它?我尝试创建一个新列表并在循环中追加也没有运气。当我打印出来结果是一样的。
更新:
我想我上次所做的是再次将每个对象附加在一起。我能够使用以下代码获得我想要的特定信息,即 COM:
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
available_ports = []
for p in ports:
available_ports.append(p.device)
print(available_ports)
最佳答案
您可以遍历列表并获取名称:
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
print([port.name for port in ports])
关于python - Python中的Pyserial(列出没有for循环的可用comports),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49176095/