python如何写二进制文件?

问题描述

这正是bytearray用于:

newFileByteArray = bytearray(newFileBytes)
newFile.write(newFileByteArray)

如果您使用的是Python 3.x,则可以bytes改用(也许应该这样做,因为它可以更好地表明您的意图)。但是在Python 2.x中,这bytes是行不通的,因为它只是的别名str。像往常一样,使用交互式解释器进行显示比使用文本进行解释要容易,所以让我这样做。

Python 3.x:

>>> bytearray(newFileBytes)
bytearray(b'{\x03\xff\x00d')
>>> bytes(newFileBytes)
b'{\x03\xff\x00d'

Python 2.x:

>>> bytearray(newFileBytes)
bytearray(b'{\x03\xff\x00d')
>>> bytes(newFileBytes)
'[123, 3, 255, 0, 100]'

解决方法

我有一个字节列表作为整数,这类似于

[120,3,255,100]

如何将此列表作为二进制文件写入文件?

这行得通吗?

newFileBytes = [123,100]
# make file
newFile = open("filename.txt","wb")
# write to file
newFile.write(newFileBytes)