Python 中,如何使用 struct 模块写入真正的二进制序列?
python 二进制文件写入
在 python 中,使用 struct 模块存储字符串时,实际写入的内容仅为字节,而非二进制序列。那么,如何写入真正的二进制序列呢?
解决方案
以下示例演示了如何使用 struct 模块写入二进制序列(0101):
import struct a_list = [33, 1, 1, 1, 4] with open("d:.bin", "wb") as fp: for x in a_list: s = struct.pack('b', x) fp.write(s) fp.close() print("done")
解析
- struct.pack('b', x) 将整数 x 打包为一个字节。字节中的最低位表示 x 的二进制形式。
- 使用 open() 打开文件并指定 "wb" 模式,表示以二进制写方式打开。
- 循环遍历列表 a_list,将每个元素转换为字节并写入文件中。
- ultraedit 是一款文本编辑器,可以以十六进制查看文件内容,验证写入的二进制序列。