a una domanda simile è stato richiesto before, ma le risposte suggerivano una soluzione alternativa che non è applicabile alla mia situazione.Python raw_input seguente sys.stdin.read() genera EOFError
Un messaggio di posta elettronica è convogliato da mutt a uno script, e viene letto da STDIN:
message = sys.stdin.read()
# message is parsed and URLs are printed as a list to choose from...
selected_index = raw_input('Which URL to open?')
Capisco che raw_input() otterrà l'EOF data da read(), ma c'è un modo per 'resettare' STDIN?
Quale sistema stai? Su Linux, questo funziona bene! –
Mac OS X (10.7). Alex Martelli ha suggerito di riaprire STDIN [qui] (http://stackoverflow.com/questions/2197891/how-to-handle-eoferror-for-raw-input-in-python-in-mac-os-x), ma non sembra funzionare per me. – janeden
Ho appena confermato che la stessa eccezione viene lanciata su un sistema GNU/Linux (CentOS). Quando invio manualmente STDIN (terminando l'input con CTRL-D), lo script funziona bene, ma chiamando './script.py
janeden