我有一个在 Python 中打开的文件,我正在写入另一个输出文件。我需要它是文件大小的 16 的倍数,所以这就是我设计的:
with open(input_file, 'rb') as infile:
with open(output_file, 'wb') as outfile:
while True:
input_chunk = infile.read(64)
if len(input_chunk) == 0:
break
elif len(input_chunk) % 16 > 0:
input_chunk.extend([0 for i in range(len(input_chunk) % 16)])
output_file.write(input_chunk)
不幸的是,它无法将零附加到:
AttributeError: 'str' object has no attribute 'extend'
首先,为什么我这里有一个字符串,而不是一个字节数组?我正在以二进制模式读取二进制文件。
其次,如果我正在处理一个字符串,我如何将一些带有值的字节写入0
该字符串的末尾?