我正在寻找一种方法来从多个不同类型的numpy数组中生成一个压缩的二进制字符串。:D这个问题中推荐的方法:
Storing and loading numpy arrays as files
就是使用以下方法:
np.savez_compressed('file_name_here.npz', arr_a = a, arr_b = b)
字符串
但需要注意的是,我需要直接得到实际的字符串,并且没有一个路径来保存它。有没有简单的方法可以直接生成二进制字符串而不保存到磁盘?有没有什么方法可以做到这一点?
2条答案
按热度按时间ruarlubt1#
您可以简单地将压缩数组保存保存到
StringIO
对象中并读回它,字符串
vcirk6k62#
要将numpy数组保存为压缩字符串,可以将压缩数组保存到内存中的
io.BytesIO()
,并将这些字节转换为base64字符串。然后,为了加载,你做相反的事情。这里有两个我写的方便的函数来做这件事:
字符串
base64编码的字符串可以在不同的程序之间移植,这些程序可能接受也可能不接受字节通信。