Cómo utilizar Python tkSimpleDialog.askstring
-
18-09-2019 - |
Pregunta
Quiero usar la respuesta desde un símbolo askstring para establecer una variable. Desafortunadamente, Tengo el dilema que estoy atrapado en el bucle de la pregunta o de la ventana se niega a llamar porque la variable (urltoopen) no tiene ningún valor. El código tal y como está:
urltoopen = tkSimpleDialog.askstring('Address', 'Where do we get the pictures from?')
usock = urllib2.urlopen(urltoopen)
data = usock.read()
usock.close()
Solución
tkSimpleDialog.askstring devuelve si el None
usuario hace clic en Cancelar o cierra la ventana (en lugar de hacer clic en OK o usando la tecla Enter); usted debe comprobar que (¿qué es lo que quiere hacer si el usuario decide cancelar? seguramente no llamar urlopen
de todos modos ...).
Aparte de eso, usted está utilizando la función correctamente; Imagino que por "no tiene ningún valor" que significa is None
, ¿verdad?
Otros consejos
root = Tk()
try:
urltoopen = tkSimpleDialog.askstring('Ask Address', 'Where do we get the pictures from?')
usock = urllib2.urlopen(urltoopen)
data = usock.read()
usock.close()
a = data
except:
sys.exit()
funciona bien. Pero tiene que manejar (como se ha mencionado por Alex) de error.