【发布时间】:2013-01-07 17:30:35
【问题描述】:
我正在尝试创建一堆包含相应十六进制值的二进制文件
for i in range(2**8):
file = open("test" + str(i) + ".bin", "wb")
file.write(hex(i))
file.close()
不幸的是,我的计数器转换为十六进制的文本表示正在写入文件,而不是实际的十六进制值。有人可以更正此代码吗?我确定问题出在hex(i)
【问题讨论】:
-
嗯,是的...
hex(x)文档特别说它返回一个字符串。 docs.python.org/3/library/functions.html#hex 但是十六进制是一种表示:你想写那个十六进制字符串的二进制表示吗?还是i的二进制表示? -
我想你想将 i 的二进制值而不是 i 的字面值写入文件?
-
你会想要使用
struct.pack