4

我希望我的 python 脚本检查活动的互联网连接,如果有,则继续执行。如果没有连接,则继续检查。基本上阻止“main()”中的执行,直到脚本可以重新连接。

Python

import urllib2

def main():
    #the script stuff

def internet_on():
    try:
        response=urllib2.urlopen('http://74.125.113.99',timeout=1)
        main()
    except urllib2.URLError:
    internet_on()
4

1 回答 1

8

绝对不要递归地这样做。改用循环:

def wait_for_internet_connection():
    while True:
        try:
            response = urllib2.urlopen('http://74.125.113.99',timeout=1)
            return
        except urllib2.URLError:
            pass

def main():
    ...

wait_for_internet_connection()
main()
于 2012-05-15T21:55:32.640 回答