urllib2.urlopen()을 사용하여 .rar 파일을 다운로드할 때 첫 번째 줄이 누락되었습니다.
문제
아 정말 이상하네요.기본적으로 여러 개의 달성 파일을 다운로드하고 추출하는 스크립트가 있습니다.일반적으로 해당 파일은 .zip 파일입니다.오늘 나는 앉아서 rar 파일과 함께 작동하도록 하기로 결정했는데 막혔습니다.처음에는 문제가 내 unrar 코드에 있다고 생각했지만 거기에는 없었습니다.그래서 나는 이렇게 했습니다:
f = urllib2.urlopen(file_location)
data = StringIO(f.read())
print data.getvalue()
도대체 나도 그랬어:
f = urllib2.urlopen(file_location)
print f.read()
왜냐하면 나는 첫 번째 청크를 보고 싶었고 결과는 동일했기 때문입니다. .rar 파일의 첫 번째 줄이 누락되었습니다.
웹 브라우저를 사용하여 동일한 파일을 다운로드하면 모든 것이 정상이며 손상되지 않습니다.
도대체 여기서 무슨 일이 일어나고 있는지 설명해 줄 수 있는 사람이 있나요?그리고 파일 형식과 어떤 관련이 있습니까?
해결책
데이터에 "캐리지 리턴" 문자(" ")가 포함되어 표시하려고 할 때 첫 번째 청크가 후속 데이터로 덮어쓰여질 수 있습니까?이는 출력에서 첫 번째 청크가 표시되지 않는 이유를 설명하지만 나중에 이를 디코딩할 수 없는 이유는 설명하지 않습니다.
제휴하지 않습니다 StackOverflow