Aaron Hiniker Aaron Hiniker - 1 year ago 101
Python Question

Python how to write to a binary file?

I have a list of bytes as integers, which is something like

[120, 3, 255, 0, 100]

How can I write this list to a file as binary?

Would this work?

newFileBytes = [123, 3, 255, 0, 100]
# make file
newFile = open (directoryPath + newFileCounter + ".txt", "wb")
# write to file

Answer Source

This is exactly what bytearray is for:

newFileByteArray = bytearray(newFileBytes)

If you're using Python 3.x, you can use bytes instead (and probably ought to, as it signals your intention better). But in Python 2.x, that won't work, because bytes is just an alias for str. As usual, showing with the interactive interpreter is easier than explaining with text, so let me just do that.

Python 3.x:

>>> bytearray(newFileBytes)
>>> bytes(newFileBytes)

Python 2.x:

>>> bytearray(newFileBytes)
>>> bytes(newFileBytes)
'[123, 3, 255, 0, 100]'
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download