2016-06-03 3 views
0

을 urllib.request 에러 검사 방법 :내가 읽고 파이썬 코드의 라인이

req = urllib.request.urlopen(path + "robots.txt", data=None) 

을하지만 website.com/robots.txt이 존재하지 않는 경우이 밖으로 erroring 할 것입니다. 이것이 작동하지 않는다면 req가 공백으로 설정되는 오류 검사 조건을 어떻게 추가 할 수 있습니까?

답변

1

블록 try - except에 대한 유용한 사용 사례입니다.

from urllib.request import urlopen 
from urllib.error import URLError, HTTPError 

try: 
    req = urlopen(path + "robots.txt", data=None) 
except HTTPError as e: 
    # do something 
    print('Error code: ', e.code) 
except URLError as e: 
    # do something (set req to blank) 
    print('Reason: ', e.reason) 

난 당신이 빈 무슨 뜻인지 잘 모르겠지만, 당신은 블록을 제외하고 내부를 원하는에 당신은 오류가 무엇인지에 따라 설정할 수 있습니다. 귀하의 경우에는 URL 오류가 발생했다고 생각합니다.이 경우 req = None (또는 원하는 내용)을 수행 할 수 있습니다.

관련 문제