如何在python中将1个字节写入二进制文件

rez*_*eza 2 python writing filehandle

我已经尝试过在python中只向一个文件写一个字节的所有内容.

i = 10
fh.write( six.int2byte(i) )
Run Code Online (Sandbox Code Playgroud)

将输出'0x00 0x0a'

fh.write( struct.pack('i', i) )
Run Code Online (Sandbox Code Playgroud)

将输出'0x00 0x0a 0x00 0x00'

我不明白为什么这么难做.

Bak*_*riu 8

您可以bytes使用该值构建一个对象:

with open('my_file', 'wb') as f:
    f.write(bytes([10]))
Run Code Online (Sandbox Code Playgroud)

这只适用于python3.如果你bytesbytearray它替换它在python2和3中都有效.

另外:记得以二进制模式打开文件以向其写入字节.