일련의 파일을 다운로드하는 간단한 Python (3.2) 스크립트를 작성했습니다. 작업은 끝났지 만 파일 다운로드가 시작되기 전에 try 블록 앞에 오는 첫 번째 print 문은 실행되지 않습니다. 나는 "Downloading 1 ..."을보고, 몇 분 기다렸다가 "SUCCESS!"라고 인쇄 할 것입니다. 또는 "실패!" 나중에. 그러나이 모든 것은 파일이 다운로드 된 후에 동시에 발생합니다. 그것은 올바른 순서로 계속 인쇄됩니다 (즉, "다운로드 중 1 ... 성공!"). 그러나 왜 내 삶에 매달려 있는지 파악할 수 없습니다.try 블록이 실행되기 전에 try 블록이 끝날 때까지 대기
표준 출력은 기본적으로 버퍼링from urllib import request
for i in range(1,35):
url = "http://example.com/" + str(i) + ".mp4"
print("Downloading " + str(i) + "...", end='') #this doesn't happen until after the try
try:
resp = request.urlopen(url)
local = open(str(i) + '.mp4', 'wb')
local.write(resp.read())
local.close()
print("SUCCESS!")
except:
print("FAILURE!")
감사합니다. 모든 것을 설명합니다. – jimbotron