我在基于Java代码的python中工作。
我在Java中有这个:
public static byte[] datosOEM = new byte[900000];
我在Python中根据我发现的一些文档写了这个:
datosOEM=bytes([0x90, 0x00, 0x00])
当我运行我的程序时,它会向我显示:
Traceback (most recent call last):
File "test.py", line 63, in <module> # The line 63 is the location of x1=datosOEM[k];
x1=datosOEM[k];
IndexError:string index out of range
克雷格更正了这一部分并建议我改为:
datosOEM = bytearray(900000)
现在,当我运行我的程序时,它会向我显示:
Traceback (most recent call last):
File "test.py", line 10, in <module> # The line 10 is the location of datosOEM = bytearray(900000)
datosOEM = bytearray(900000)
TypeError: 'type' object has no attribute '__getitem_'
我如何解决这个问题?
我的部分代码是:
...
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];
...
答案 0 :(得分:0)
Craig肯定告诉过你如何用900000字节创建一个bytearray:
datosOEM = bytearray(5)
print(datosOEM) # bytearray(b'\x00\x00\x00\x00\x00')
datosOEM[0] = 65
print(datosOEM) # bytearray(b'A\x00\x00\x00\x00')