【发布时间】:2019-07-24 01:33:41
【问题描述】:
目前我必须将一串二进制文件写入文件 --- 但是,我需要将其写入二进制文件。例如,我得到了字符串 s = "1011001010111"。我希望能够以二进制格式将其写入文件。因此,当我进行 hexdump 时,文件将具有以下二进制输出:1011001010111。我曾考虑逐个字符地遍历我的字符串以获得哪个位值,但是我在以二进制格式将其写出时遇到问题文件。
编辑:我的代码
bits2 = "000111010001110100011110000111110101"
int_value = int(bits[1::], base=2)
bin_array = struct.pack('i', int_value)
f = open("test.bnr", "wb")
f.write(bin_array)
【问题讨论】:
-
您能否展示您当前拥有的代码以及为什么它没有按预期工作?
-
添加了代码...
-
什么都不对。请检查您的代码并上传正确的代码。作为第一件事,您声明了变量
bits2和 intint()函数,您使用了未声明的bits变量。您忘记导入结构库的第二件事。修复前一点的第三件事,struct.pack()将永远无法正确完成,因为:'i' format requires -2147483648 <= number <= 2147483647 -
@Zoralikecury 如果答案对您有帮助,请删除以投票。
标签: python-2.7 file binary