Python写入二进制文件

2020-01-19 14:03发布

我想用python写入二进制的文件,例如字符串"abcd"写为6162 6364(十六进制),我用struct模块存储后发现struct只是把字符串转换为字节,实际写入的内容还是字符串,不是二进制序列。
我打开的方式是二进制写

怎么才会写入二进制序列(0101)呢?

2条回答
聊天终结者
2楼-- · 2020-01-19 14:03
words = 'sdasdasdasdasd'
new_str = ''
for word in words:
    new_str += str(ord(word))
print(bin(int(new_str)))
查看更多
狗以群分
3楼-- · 2020-01-19 14:21

我网上找了个例子,在python 3.7.4中运行是可以的:
import struct
a_list = [33,1,1,1,4]
with open("d:\a.bin","wb") as fp:
for x in a_list:
s = struct.pack('b',x)
fp.write(s)
fp.close()
print("done")

在ultraedit下,用16进制看。结果是对的

查看更多
登录 后发表回答