Найти - Пользователи
Полная версия: Как осуществить ввод с клавиатуры?
Начало » Python для новичков » Как осуществить ввод с клавиатуры?
1
Shade
Какой самый простой способ осуществить ввод с клавиатуры в консольном окне? Или определить статус клавиши (нажата/отпущена)? Только не смейтесь. Я не нашёл.
slivlen
raw_input()
Shade
Спасибо. Попробовал. Возник вопрос посложнее - raw_input блокирует выполнение всех трэдов, а мне нужно опрашивать клавиатуру параллельно с выполнением других задач…
Ferroman
Я не знаю что Вы пишите, но если достаточно сложное терминальное приложение то может поможет curses.
Shade
Да, curses видел, но не хотелось бы закапываться в этот фреймворк.

Пока нашёл такое решение - модуль msvcrt, там есть getch().
Но это работает только под Windows и не работает при запуске из IDLE.
shiza
Shade
Это ты что-то неразобрался:
Вот - raw_input в нитях.
import threading
import time

def proc():
print 'Yo'
a = raw_input()
print 'input: ' , a

def proc2():
while 1:
time.sleep(1)
print time.time()

p1 = threading.Thread(target=proc)
p2 = threading.Thread(target=proc2)
p1.start()
p2.start()

p1.join()
p2.join()
Shade
shiza
Shade
Это ты что-то неразобрался:
Вот - raw_input в нитях.
А ты пробовал запускать этот код? Во время ввода вторая нить не работает.
shiza
я пробовал - все работает.
WindowsXP
Python 2.5.2
консоль CMD
C:\temp>op.py
Yo
1220564077.67
1220564078.67
1220564079.67
1220564080.67
1220564081.67
1220564082.67
1220564083.67
1220564084.67
tets
input: tets
1220564085.67
1220564086.67
1220564087.67
1220564088.67
1220564089.67
^C
C:\temp>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB