Uniendo lista de bytes con python

Estoy tratando de desarrollar una herramienta que lea un archivo binario, realice algunos cambios y guárdelo. Lo que estoy tratando de hacer es hacer una lista de cada línea en el archivo, trabajar con varias líneas y luego volver a unir la lista.

Esto es lo que intenté:

file = open('myFile.exe', 'r+b') aList = [] for line in f: aList.append(line) #Here im going to mutate some lines. new_file = ''.join(aList) 

y dame este error

 TypeError: sequence item 0: expected str instance, bytes found 

Lo que tiene sentido porque estoy trabajando con bytes.

¿Hay alguna forma de usar la función de unión o algo similar para unir bytes? Gracias.

Realice la unión en una cadena de bytes usando b''.join() :

 >>> b''.join([b'line 1\n', b'line 2\n']) b'line 1\nline 2\n' 

Simplemente trabaja en tus “líneas” y escríbelas tan pronto como hayas terminado con ellas.

 file = open('myFile.exe', 'r+b') outfile = open('myOutfile.exe', 'wb') for line in f: #Here you are going to mutate the CURRENT line. outfile.write(line) file.close() outfile.close()