假设我有以下字符串:
my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
这里我获得它的来源并不重要,但是为了让事情具体化,假设我是从一个二进制文件中读取的。
我知道我的字符串是四个浮点数(每个浮点数占用4个字节)的二进制表示。我想将这些浮点数作为numpy数组获取。我可以这样做:
import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )
但是创建一个中间元组似乎很繁琐。 有没有一种方法可以在不创建中间元组的情况下执行此操作?
编辑
我还想以这样的方式构建数组,以便我可以指定字符串的字节序。