Salve!
Ho il seguente assurdo problema: nel mio programma dentro un ciclo while faccio inserire all'utente delle stringhe (dei nomi). Il ciclo e' terminato quando si legge 'quit'. Il problema e' pero' il seguente: la chiamata con cui leggo da stdinput non e' bloccante! O meglio, lo diventa alla seconda iterazione del ciclo.
Posto un po' di codice cosi' si capisce meglio:
E l'output quindi diventa:codice:while (1): print "Insert name (or \"quit\" to exit program)" name = sys.stdin.readline().rstrip()
Ho inserito una gestione dell'errore nel caso non si leggano nomi validi e con un po' di tracing si vede chiaramente come alla prima iterazione si legga la stringa vuota e si entri nella gestione dell'errore (che non fa altro che un continue per tornare a chiedere il nome). Solo alla seconda iterazione il programma si ferma in attesa dell'input dell'utente.Insert name
Insert name
*attesa dell'input*
Com'e' possibile? E' tutta la mattina che cerco in giro per il web e ho trovato solo persone col problema opposto, ovvero che vorrebbero la readline non blocking e non ci riescono..
Qualcuno ha qualche idea in proposito? Grazie mille!