2013-09-25 2 views
0

저는 작은 파이썬 스크립트를 실행하여 매 10 초마다 내 인터넷에 액세스 할 수 있는지 확인합니다 (내 isp 빠는 데 문제가 있음). 나는 아마 2 달 동안 그것을 달리고 완벽하게 일했다, 그러나 지금 무작위로 나온다. 때로는 시작 20 분 안에 종료되며 때로는 5 분 정도 기다립니다. 코드는 다음과 같습니다파이썬 오류 코드 종료시 및 인터넷 연결

import time 
import datetime 
import urllib2 

waitTime = 300 
outfile = "C:\Users\simmons\Desktop\internetConnectivity.txt" 

def internetOffline(): 
    with open (outfile, "a") as file: 
     file.write("Internet Offline: %s\n" % time.ctime()) 
     print("Internet Went Down!") 

def internetCheck(): 
    try: 
     urllib2.urlopen('https://www.google.com', timeout = 2) 

    except urllib2.URLError: 
     internetOffline() 

while (1): 
    internetCheck() 
    time.sleep(10) 

내 질문뿐만 아니라이며, 나는 그것을 밖으로 종료 할 때 일어나고, 또한, 사람이이 일을보다 효율적인 방법을 알고 않기 때문에 가능성이 적은 네트워크의 원인을 인쇄 할 방법 교통. 지금은 문제가 아니지만보다 효율적인 방법에 대해 궁금해하고있었습니다.

+0

당신이 종료 할 때 생성하는 오류 메시지를 확인 시도 할 수 있습니다 도움이 응답하는? – justhalf

+0

몇 가지 오류를보고 싶다면'sys.stderr = open ("error.txt", "w")'를 시도하고 충돌 후 파일을 확인하십시오. 아마도 권한으로 실행해야합니다. – Leonardo

답변

2

는있는 거 IDE에서 프로그램을 실행 장해야하지 메신저 여러 번에 Google에가는 일 후 출구에 던지는 읽기 오류이 당신을 말해야 수 있는지 또는 프로그램이 종료됩니다

import urllib2 

def internet_on(): 
    try: 
     response=urllib2.urlopen('http://74.125.228.100',timeout=1) 
     return True 
    except urllib2.URLError as err: pass 
    return False 

74.125.228.100은 google.com에 대한 IP-주소 중 하나입니다

다음은이 작업을 수행 할 수있는 좋은 방법입니다. 어떤 사이트를 기대할 수 있습니다로 변경 http://74.125.228.100 빨리 내가 ​​this question에서이 솔루션은, 그것을 좀 봐 가지고

, 그것은