问题描述
这正是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)