Найти - Пользователи
Полная версия: Проверить нажатие любой клавиши
Начало » Python для новичков » Проверить нажатие любой клавиши
1 2
alien308
 i = raw_input('',)
Тоже ожидает ввода.
ZerG
Может вы уже напишите что вы хотите? А то мало того что за вас код пишем так еще и должны угадывать что же вы имели в виду?
sewer_in
Попробуйте модуль msvcrt.

import msvcrt
#Потом например так
msvcrt.getwch()
alien308
sewer_in
Попробуйте модуль msvcrt.
Тоже ожидает ввода.
alien308
ZerG
Может вы уже напишите что вы хотите? А то мало того что за вас код пишем так еще и должны угадывать что же вы имели в виду?

Хочу чтобы программа не останавливалась, ожидая ввода пользователя, а проверила наличие символа в буфере клавиатуры и выполнялась дальше.
ZerG
# -*- coding: utf-8 -*-
import time
import curses
ENTER_KEY = (curses.KEY_ENTER, ord('\n'), ord('\r'))
def run(win, timeout=1):  # timeout in seconds
    curses.echo()
    win.timeout(0)  # Non-block read.
    line = 0
    while True:
        win.addstr(line, 0, '')
        s = []
        start = time.time()
        run = True
        while run:
            c = win.getch()
            time_taken = time.time() - start
            if c < 0:
                pass
            elif c in ENTER_KEY:
                break
            else:
                s.append(chr(c))
            if time_taken >= timeout:
                # Out of time.
                s.append(-1)
                run = False
        if len(s) == 0:
            break
        if s[-1] == -1:
            s.pop()
        answer = ''.join(s)
        win.addstr(line + 1, 0, answer)
        line += 2
curses.wrapper(run)
alien308
Ужос. Лучше на C сделаю. И под Windows надо искать правильную реализацию curses.
alien308
Cпасибо за прояснение этого странного вопроса.
ZerG
Это не ужас а ваша лень!
Вам лень гуглить
Вам лень четко и точно описать задачу (есть мысль что вам вобще можно обойтись другим механизмом)
Первый предложенный вариант был наиболее правильным! Где вы нашли избыточность я не понял! Или вы думаете что на С вам не прийдется импортировать библиотеки?

Хозяин - барин короче.
doza_and
alien308
а проверила наличие символа в буфере клавиатуры
alien308
Ужос. Лучше на C сделаю.
Ага :) интересно будет посмотреть как вы сделаете проверку буфера клавиатуры в многозадачной ОС. :)
Не морочте всем голову. Нужна работа по событиям - берете GUI нужен терминал - не жалуйтесь что он ждет ввода. Это его основное назначение.
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