Python字符串包含字节数组

时间:2015-08-10 13:06:29

标签: python python-bytearray

我已经尝试了一些名为array的Python模块。它有一种方法将数组编码为字符串。

>>>from array import array
>>>a=[1,2,3]
>>>a=array('B',a)
>>>print(a)
array('B',[1,2,3])
>>>print(a.tostring())
b'\x01\x02\x03'
>>>str(a.tostring())
"b'\x01\x02\x03'"

我想将数组的.tostring()版本保存到文件中,但open().write()只接受字符串。

有没有办法将此字符串解码为字节数组?

我想将它用于OpenGL数组(glBufferData接受字节数组)

提前致谢。

2 个答案:

答案 0 :(得分:2)

无需进一步编码/解码阵列。您可以使用AppCompatActivity模式将tostring()返回的字节写入文件:

'wb'

您还可以使用from array import array a = array('B', [1, 2, 3]) with open(path, 'wb') as byte_file: byte_file.write(a.tostring()) 模式从文件中读取字节:

'rb'

这将从文件中加载存储的数组并将其保存到变量with open(path, 'rb') as byte_file: a = array('B', byte_file.readline())

a

答案 1 :(得分:1)

这样做:

>>> open('foo.txt','wb').write(a.tostring())