我是python中的新学习者。我想创建一个用于发送短信或使用数据卡呼叫的Web应用程序。我一直在使用数据卡发送短信,但我的问题是,如果我一次使用多个数据卡连接如何检查哪个USB端口工作正常。所以我想获取usb序列号或usb pid或vid。
import serial.tools.list_ports;
reslt = serial.tools.list_ports.comports()
print serial.tools.list_ports.ListPortInfo.name
结果:
[('/dev/ttyS31', 'ttyS31', 'n/a'), ('/dev/ttyS30', 'ttyS30', 'n/a'),
('/dev/ttyS29', 'ttyS29', 'n/a'), ('/dev/ttyS28', 'ttyS28', 'n/a'),
('/dev/ttyS27', 'ttyS27', 'n/a'), ('/dev/ttyS26', 'ttyS26', 'n/a'),
('/dev/ttyS25', 'ttyS25', 'n/a'), ('/dev/ttyS24', 'ttyS24', 'n/a'),
('/dev/ttyS23', 'ttyS23', 'n/a'), ('/dev/ttyS22', 'ttyS22', 'n/a'),
('/dev/ttyS21', 'ttyS21', 'n/a'), ('/dev/ttyS20', 'ttyS20', 'n/a'),
('/dev/ttyS19', 'ttyS19', 'n/a'), ('/dev/ttyS18', 'ttyS18', 'n/a'),
('/dev/ttyS17', 'ttyS17', 'n/a'), ('/dev/ttyS16', 'ttyS16', 'n/a'),
('/dev/ttyS15', 'ttyS15', 'n/a'), ('/dev/ttyS14', 'ttyS14', 'n/a'),
('/dev/ttyS13', 'ttyS13', 'n/a'), ('/dev/ttyS12', 'ttyS12', 'n/a'),
('/dev/ttyS11', 'ttyS11', 'n/a'), ('/dev/ttyS10', 'ttyS10', 'n/a'),
('/dev/ttyS9', 'ttyS9', 'n/a'), ('/dev/ttyS8', 'ttyS8', 'n/a'),
('/dev/ttyS7', 'ttyS7', 'n/a'), ('/dev/ttyS6', 'ttyS6', 'n/a'),
('/dev/ttyS5', 'ttyS5', 'n/a'), ('/dev/ttyS4', 'ttyS4', 'n/a'),
('/dev/ttyS3', 'ttyS3', 'n/a'), ('/dev/ttyS2', 'ttyS2', 'n/a'),
('/dev/ttyS1', 'ttyS1', 'n/a'), ('/dev/ttyS0', 'ttyS0', 'n/a'),
('/dev/ttyUSB3', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB2', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB0', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506')]
和
import serial.tools.list_ports;
print [port for port in serial.tools.list_ports.comports() if port[2] != 'n/a']
结果:
[('/dev/ttyUSB3', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB2', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB0', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506')]
我正在学习http://pyserial.readthedocs.org/en/latest/tools.html
请帮助我如何获得usb VID,Usb序列号等。
答案 0 :(得分:2)
正如@Peter在评论中所说,在较新版本的PySerial(当前版本为3.4)中,您可以轻松获取端口信息,例如描述,PID,VID,HWID,名称,序列号等。
例如:
for port in serial.tools.list_ports.comports():
print(port.hwid)
答案 1 :(得分:1)
获取VID或PID: