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()                     
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top