有时,我们需要在网络中传输一些numpy.ndarray对象。这时候我们就需要找到一种适合网络传输的高效序列化方法:frommarkimportBASE_DIRfromnumpyimportndarrayimportnumpyimportpickleimg1=numpy.array([iforiinrange(5120)])#方法一:使用pickle来将numpy.ndarraywithopen(BASE_DIR/'testing'/'001.bin','wb')序列化为f:img1:ndarrayf.write(pickle.dumps(img1))#---结果41111字节#方法2:使用pickle序列化python列表对象withopen(BASE_DIR/'testing'/'002.bin','wb')asf:ins:list[int]=img1.tolist()f.write(pickle.dumps(ins))#---结果15130字节#方法三:使用numpy的savez序列化numpy.ndarraynumpy.savez(BASE_DIR/'testing'/'numpy_savez_test',img1)#---结果41224字节#方法四:使用numpy的savez_compressed(带压缩功能)序列化numpy.ndarraynumpy.savez_compressed(BASE_DIR/'testing'/'numpy_savez_compressed_test',img1)numpy.load(BASE_DIR/'testing'/'numpy_savez_compressed_test')#---Result7982bytes""""""结论结论sion:方法四<方法二<方法一<方法三(7982)<(15130)<(41111)<(41224)
