用python加入字节列表

时间:2013-06-12 14:27:48

标签: python list join byte

我正在尝试开发一个读取二进制文件的工具,进行一些更改并保存。我要做的是在文件中列出每一行,使用多行,然后再次加入列表。

这就是我的尝试:

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)

并给我这个错误:

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

这是有道理的,因为我正在处理字节。

有没有办法可以使用类似于连接字节的连接函数? 谢谢。

2 个答案:

答案 0 :(得分:56)

使用b''.join()

对字节字符串执行连接
>>> b''.join([b'line 1\n', b'line 2\n'])
b'line 1\nline 2\n'

答案 1 :(得分:2)

只要完成你的“行”,一旦你完成它们就把它们写出来。

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()