0

自分のコンピューターのどのシリアル ポートが使用されているかを特定したいのですが、そのために、(Eltima 仮想シリアル ポート ドライバー 7.1 のような仮想シリアル ポート エミュレーターである VSPE) と次のコードを使用します。

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何もありません。

4

1 に答える 1

0

['COM9']要素が 1 つのリストです。この要素を取得するには、 index を使用します0

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

数字のみが必要な場合は9、使用します

d = s[-1]

"9"結果であるを整数に変換する場合は、次を使用します。

i = int(d)
于 2015-01-30T09:32:16.980 に答える