python无法拆分serial.readline

时间:2016-02-17 07:26:54

标签: python python-2.7 serial-port

我尝试保存一个字符串,由我的电路板发送,但我无法保存TC [1]的数据,它总是错误:IndexError:列表索引超出范围

这是董事会发送的数据

[TC]4915 31[TC]
[TC]4916 77[TC]
[TC]4917 23[TC]
[TC]4918 69[TC]
[TC]4919 15[TC]

这是我的代码

import serial
TC = []
ser = serial.Serial('COM6', 9600)  
while 1:
    string = ser.readline()
    string = string.strip()
    string = string.replace("[TC]","")
    TC = string.split(" ",2)
    print TC[1]

但是当我使用

TC = []
string = "[TC]4915 31[TC]"
string = string.strip()
string = string.replace("[TC]","")
TC = string.split(" ",2)
print TC[1]

它的工作

那有什么不对?

2016年2月18日

嘿Gus!我尝试打印ser.readline()它可以拆分

import serial
ser = serial.Serial('COM8', 9600)  
while 1:
    string = ser.readline()
    print str(ser.readline().strip().replace("[TC]",'')).split(' ')[0] 
    print str(ser.readline().strip().replace("[TC]",'')).split(' ')[1]

但答案看起来像是

1385
97
1388
35
1391
73
1394
11
1397
49
1400
87
1403
25

无法捕获每个数据,我也会尝试

import serial
ser = serial.Serial('COM8', 9600)  
while 1:
    string = ser.readline()
    print str(ser.readline().strip().replace("[TC]",''))

仍然不能,看起来像

1880 21
1882 13
1884 5
1886 97
1888 89
1890 81
1892 73
1894 65
1896 57

那么如何修复数据跳转

0 个答案:

没有答案