python中的IndexError

时间:2014-04-15 16:51:19

标签: java python python-2.7 usbserial

我在基于Java代码的python中工作。

我在Java中有这个:

public static byte[]  datosOEM = new byte[900000]; 
public static byte x1=0,x2=0,x3=0,x4=0,x5=0,x6=0;

我在Python中根据我发现的一些文档写了这个:

datosOEM=bytes([0x90, 0x00, 0x00])
x1=bytes([0x00])
x2=bytes([0x00])
x3=bytes([0x00])
x4=bytes([0x00])
x5=bytes([0x00])
x6=bytes([0x00])

当我运行我的程序时,它会向我显示:

Traceback (most recent call last):
  File "test.py", line 63, in <module>
    x1=datosOEM[k];
IndexError:string index out of range

我如何解决此问题?任何帮助都很受欢迎。

我的部分代码是:

...
response=port.read(8)
print(response)
k=0
C=0
conexion=True
if(conexion):
    while(response>200):
        while(C==0):
            x1=datosOEM[k];
            if(x1=1):
                x2=datosOEM[k+1];
... 

另外,我该怎样做才能不再重复这个错误?

提前感谢您的帮助

这篇文章由JasonMArcher编辑,非常感谢你。

1 个答案:

答案 0 :(得分:0)

我不确定你想要实现的目标。也许是这样的?

datosOEM = [0]*900000 # a list of length 900.000, initialized with zeros
x1 = 0
x2 = 0
x3 = 0
# ...

也许你甚至想要这个:

datosOEM = [0]*900000 # a list of length 900.000, initialized with zeros
x = [0]*6
# ...
# ...
    while (C==0):
        x[0] = datosOEM[k];
        if (x[0] = 1):
            x[1] = datosOEM[k+1];
        # ...