다른 출력 파일에 쓰는 Python으로 열어 본 파일이 있습니다. 나는 그것이 파일 크기 16의 배수 여야합니다, 그래서 이것은 내가 고안 한 것입니다 :문자열에 바이트를 추가 하시겠습니까?
AttributeError: 'str' object has no attribute 'extend'
먼저, 왜을 수행
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)
불행하게도, 그것은과 제로를 추가 실패 바이트 배열이 아니라 여기에 문자열이 있습니까? 이진 파일을 이진 모드로 읽는 중입니다.
둘째, 문자열을 처리하는 경우 문자열의 끝에 0
값을 가진 바이트를 어떻게 작성합니까?
문자열은 불변 객체입니다. – JBernardo
아마도 input_chunk = input_chunk + '\ 0'* (len (input_chunk) % 16) – Hyperboreus
바이트 배열로 파일을 읽을 수있는 방법이 있습니까? –