Мне пришлось использовать многопоточность для запуска потока, ожидающего ввода, и использовать основной поток, чтобы попытаться остановить программу. Многопоточность работает отлично, и мой код raw_input, и мой код quit() работают отлично... пока я не добавляю time.sleep() в микс, чтобы задержать выход из программы.
Похоже, что-то с time.sleep() заставляет его ждать завершения потока; однако мне не удалось найти альтернативы time.sleep. Мне также не удалось найти альтернативу raw_input.
Код: Выделить всё
import threading
import time
def ask():
print raw_input("What's up?")
def giveUp():
print "I give up!";
quit();
print "I already gave up!";
t1 = threading.Thread(target=ask);
t1.daemon = False;
t1.start()
time.sleep(0.1);
giveUp();
Подробнее здесь: https://stackoverflow.com/questions/568 ... -raw-input
Мобильная версия