我有一个字节列表作为整数,就像
[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/