Как я могу сделать временную подсказку в Python? (Прерывание raw_input)Python

Программы на Python
Ответить
Anonymous
 Как я могу сделать временную подсказку в Python? (Прерывание raw_input)

Сообщение Anonymous »

У меня возникли проблемы с созданием приглашения, которое ожидает ввода пользователя только в течение определенного времени.

Мне пришлось использовать многопоточность для запуска потока, ожидающего ввода, и использовать основной поток, чтобы попытаться остановить программу. Многопоточность работает отлично, и мой код 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»