我有一个字节列表作为整数,就像

[120, 3, 255, 0, 100]

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

这行得通吗?
newFileBytes = [123, 3, 255, 0, 100]
# make file
newFile = open("filename.txt", "wb")
# write to file
newFile.write(newFileBytes)

最佳答案

这正是 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]'

关于Python如何写入二进制文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18367007/

10-12 18:15