我可以将一台机器上的h5文件读取为字节数组,将该字节流传输到另一台机器,然后从另一台机器上的字节数组加载吗?

时间:2018-10-29 06:57:12

标签: python hdf5 h5py

我有以下要求:我在一台(源)计算机上有h5文件,我想在另一台(目标)计算机上使用。目前,我觉得我应该在源计算机上将h5文件读取为字节数组,将字节数组流式传输到目标计算机,然后从目标计算机上的字节数组加载h5文件。

问题1。这种方法可以吗?还是有其他方法可能更好?

this的答案中,我发现我们可以从字节数组中加载h5文件。但是,如何从文件系统上的给定h5文件中获得这种有效的字节数组。我尝试使用通常的open("temp.h5")获取字节数组,但无法正常工作。

另外this个旧的nabble线程似乎也在讨论相同的问题。有人做过吗? 第二季度。谁能告诉我如何完成此任务?甚至可行吗?

1 个答案:

答案 0 :(得分:0)

  

这种方法可以吗?还是有其他方法可能更好?

您的方法对我来说听起来很合理。

  

但是我怎么能从文件系统上给定的h5文件中得到这样的有效字节数组。我尝试使用通常的open(“ temp.h5”)获取字节数组,但无法正常工作。

您应该使用'b'模式将文件读取为二进制文件:

with open('some_file.txt', 'rb') as f:
    print(f.read())

>>> b'hello world'
  

谁能告诉我该怎么做?甚至可行吗?

这是完全可行的。只需以'rb'模式读取HDF5文件,通过套接字发送数据,然后使用我的previous answer中的方法在另一侧读取文件。