繁体   English   中英

Python字符串包含字节数组

[英]Python string contains byte array

我已经尝试了一些名为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接受字节数组)

提前致谢。

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

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

>>> print(a)
array('B', [1, 2, 3])

做这个:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM