try
-Anweisungen erstellen keinen neuen Bereich, aber text
wird nicht gesetzt, wenn der Aufruf von url lib.request.urlopen
die Ausnahme auslöst. Wahrscheinlich möchten Sie die print(text)
-Zeile in einer else
-Klausel, so dass sie nur ausgeführt wird, wenn es keine Ausnahme gibt.
Wenn text
später verwendet werden muss, müssen Sie wirklich darüber nachdenken, was der Wert sein soll, wenn die Zuweisung zu page
fehlschlägt und Sie nicht page.read()
aufrufen können. Sie können ihm vor der try
-Anweisung einen Anfangswert geben:
oder in der else
-Klausel:
Wie bereits erwähnt, gibt es keinen neuen Bereich, der mit der try except
-Klausel eingeführt wurde. Wenn keine Ausnahme auftritt, sollten Sie Ihre Variable in locals
list sehen und auf den aktuellen (in Ihrem Fall globalen) Bereich zugreifen können / p>
%Vor%
Im Modulbereich (Ihr Fall) locals() == globals()
Tags und Links python scope python-3.x local-variables try-except