首页 > 解决方案 > 如何将返回值分配给python中的变量而不是内存地址?

问题描述

我有两个串行端口连接到同一台计算机。下面的代码将打印端口连接到我的机器。我只想将端口值分配给一个变量,以便可以在代码中使用。

import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
    print p

输出是

>>> /dev/ttyS0 - ttyS0
/dev/ttyUSB1 - FT232R USB UART
/dev/ttyUSB0 - USB-Serial Controller D

我想解析这些信息并分配以下内容:

var1 = ttyS0
var2 = ttyUSB1
var3 = ttyUSB0

我怎么能在python3中做到这一点?

标签: pythonpyserial

解决方案


文档中提到的list_port 返回 ListPortInfo 对象的列表。该对象具有一些属性(设备、名称...)

import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
    print (p.name) 

推荐阅读