首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >float转换为bytearray,bytearray转换为float

float转换为bytearray,bytearray转换为float
EN

Stack Overflow用户
提问于 2021-11-08 03:05:48
回答 1查看 35关注 0票数 0
代码语言:javascript
复制
import numpy as np 

Array = np.arange(0, 100.1, 0.1)
print(Array)

np.savetxt('1-100.txt', Array, fmt='%f') # 텍스트파일로 저장 

np.loadtxt('1-100.txt') 

array = np.loadtxt('1-100.txt') 
print(array)

data_array = []

for data in array:
  data_array.append(data)
  
import struct

byte_array = []
for data2 in data_array :
    byte_array.append(struct.pack('f',data2))
    
print(byte_array)
    
    

np.save('1-100npy',byte_array)

np.load('1-100npy.npy')

array2 = np.load('1-100npy.npy')

byte_array2 = []
for data3 in array2 :
    byte_array2.append(data3)




float_array = []
for data4 in byte_array2:
    float_array.append(struct.unpack('f',data4))



np.savetxt('1-100 2.txt',float_array, fmt = "%f'")

我想知道

代码语言:javascript
复制
float_array = []
for data4 in byte_array2:
    float_array.append(struct.unpack('f',data4))

error: unpack requires a buffer of 4 bytes <- because of that
EN

回答 1

Stack Overflow用户

发布于 2021-11-08 03:39:06

"np.save func“按字面意思将值”b‘\x00\x00’“保存为空。

检查"1-100npy.npy",你可以看到。

若要避免该错误,请在byte_array2中传递第一项

代码语言:javascript
复制
for data4 in byte_array2[1:]:
    float_array.append(struct.unpack('f',data4)[0])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69878271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档