python синтаксис вопрос - почему этот код не генерирует ожидаемый результат? - PullRequest
0 голосов
/ 14 января 2020

Я законченный python новичок, изучающий, как кодировать, используя некоторые обучающие видео (в которых я использую Python 2). Работая над одним упражнением, я создал приведенный ниже код для создания словаря URL. Видео продиктовало, что с помощью приведенного ниже кода ввод пустого ввода приведет к разрыву и завершению последовательности, но вместо этого я получаю сообщение «произошла ошибка» в коде исключения. Это происходит независимо от того, введу ли я неправильный URL или пустой. Что я сделал неправильно в коде, который вызвал это?

Во-вторых, когда я достигаю функцию остановки в коде и набираю что-либо кроме 1, l oop возвращает сообщение об ошибке вместо продолжения как я и предполагал.

Любая помощь, которую кто-либо может оказать, была бы очень полезна для новичка, у которого еще нет знаний для устранения неполадок для себя! Спасибо!

while urltoread != '':  

    try:      
        urltoread = input("Please enter the next url to crawl ")  
        if urltoread == "":  
            print "OK, good loop!"  
            break  
        shortname = input("Please input a short name for this url "+ urltoread)      
        webfile = urllib2.urlopen(urltoread).read()  
        crawlweblinks[shortname] = webfile  
    except:  
        print "An error has occured, dummy",sys.exc_info()[0]  
        stoporproceed = input("Enter 1 to Stop, or enter anything else to continue")  
        if stoporproceed ==1 :   
            print "You got it!\n"  
            break  
        else:  
            print "On we go!\n"  
            continue  
    print "This line is inside the while loop"  
print "This line is outside the while loop"  
print crawlweblinks.keys()  
...