我有一个字节列表作为整数,这类似于
[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用于:
bytearray
newFileByteArray = bytearray(newFileBytes) newFile.write(newFileByteArray)
如果您使用的是Python 3.x,则可以bytes改用(也许应该这样做,因为它可以更好地表明您的意图)。但是在Python 2.x中,这bytes是行不通的,因为它只是的别名str。像往常一样,使用交互式解释器进行显示比使用文本进行解释要容易,所以让我这样做。
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]'