You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将32bit binary float以二进制格式写入open打开的文件

Python 32位单精度浮点数二进制写入实现方法

核心依赖

使用Python标准库内置的struct模块即可实现,无需安装第三方依赖,该模块专门用于处理Python数值和C语言类型二进制数据的互相转换。

实现步骤

  • 打开文件时必须使用二进制写模式,即模式参数传wb,禁止使用普通文本写模式w,否则会出现二进制数据转义错误。
  • 调用struct.pack()方法将Python float类型转换为32位单精度浮点数对应的二进制字节串,格式符使用f对应32位float类型。

代码示例

import struct

# 单浮点数写入示例
with open("float_data.bin", "wb") as f:
    # 将3.14转换为32位浮点数二进制字节串写入
    bin_bytes = struct.pack("f", 3.14)
    f.write(bin_bytes)

# 批量浮点数写入示例
float_array = [0.5, 1.2, -3.7, 99.9]
with open("float_batch.bin", "wb") as f:
    # 格式符前的数字对应要转换的浮点数个数
    batch_bin = struct.pack(f"{len(float_array)}f", *float_array)
    f.write(batch_bin)

可选配置:指定字节序

默认使用运行设备的原生字节序,如果需要手动指定大端/小端字节序,可在格式符前增加标记:

  • <f:小端字节序(Little-endian)32位浮点数
  • >f:大端字节序(Big-endian,网络字节序)32位浮点数
  • =f:使用当前设备原生字节序(默认值)

内容的提问来源于stack exchange,提问作者crow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:06:05