以二进制模式将字母A写入文件

3
在 Python 3 中,以下语句是正确的:
ord('A') == 65
chr(65) == 'A'
bin(65) == '0b1000001'
hex(65) == '0x41'
int(b'1000001',2) == 65

假设整数i = 65,我该如何在Python3中以二进制模式打开文件并将字节01000001写入文件?

虽然简单,但我还没有找到重复的问题。

1个回答

5

根据您的程序需求,可以使用以下任意一种表单。它们都会精确地执行相同的操作--将一个字节写入输出文件。

i = 65
with open('outputfile.bin', 'wb') as f:
    f.write(bytes([i]))
    f.write('A'.encode('ascii'))
    f.write(bytes('A', encoding='ascii'))

非常感谢Rob!我把语法搞错了。可能是因为我睡眠不足。这里描述了内置函数bytes:http://docs.python.org/3/library/functions.html#bytes - tommy.carstensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接