我想确定我的计算机的哪个串口正在使用,我这样做(VSPE是一个虚拟串口仿真器,就像Eltima虚拟串口驱动程序7.1)和以下代码
import sys
import glob
import serial
def serial_ports():
"""Lists serial ports
:raises EnvironmentError:
On unsupported or unknown platforms
:returns:
A list of available serial ports
"""
if sys.platform.startswith('win'):
ports = ['COM' + str(i + 1) for i in range(256)]
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
a=serial_ports()
print(a)
现在这段代码给了我
>>>['COM9']
作为答案
我的问题是如何摆脱这个问题:[' ']
我只想要COM9
或至少9
而不是其他任何内容。
答案 0 :(得分:0)
['COM9']
是一个包含一个元素的列表。要获取此元素,请使用索引0
。
l = ['COM9']
s = l[0]
如果您只想要数字9
,请使用
d = s[-1]
如果要将结果("9"
)转换为整数,请使用
i = int(d)