Прежде всего, я новичок в python, поэтому извиняюсь, если это глупый вопрос (у меня есть опыт работы в C ++).
Я пытаюсь разделить последовательные данные (из arduino) в список и распечатайте определенные элементы из списка в консоли. Я не буду вдаваться в подробности проекта, потому что они не важны.
Необработанные последовательные данные выглядят так:
11111110,11111111,11111111
11111110,11111111,11111111
11111110,11111111,11111111
Код, который я пытаюсь использовать:
#!/usr/bin/python
import serial, string
output = " "
ser = serial.Serial('/dev/ttyUSB0', 31250, 8, 'N', 1, timeout=1)
while True:
print "----"
while output != "":
output = ser.readline()
outList = output.strip().split(',')
print outList[1]
output = " "
Я получаю сообщение об ошибке:
Traceback (most recent call last):
File "serialtest.py", line 12, in <module>
print outList[1]
IndexError: list index out of range
Я попытался заменить print outList[1]
на print(outList)
, и я получил ожидаемый результат:
['11111110', '11111111', '11111111']
['11111110', '11111111', '11111111']
['11111110', '11111111', '11111111']
Я МОГУ заставить print outList[0]
работать, что печатает 11111110
. Это говорит о том, что может быть не нравится 11111111
?