从引号之间提取字符串 python 3.4 串口

Extract string from between quotations python 3.4 serial port

我想确定正在使用我的计算机的哪个串行端口,为此我有(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,没有别的。

['COM9'] 是一个只有一个元素的列表。要获取此元素,请使用索引 0.

l = ['COM9']
s = l[0]

如果您只想要数字 9,请使用

d = s[-1]

如果要将结果 "9" 转换为整数,请使用

i = int(d)