Python 3 - Как вводить данные, не нажимая <return>в OSX - PullRequest
0 голосов
/ 04 января 2012

Я пытаюсь переместить персонажа с помощью клавиш «asdw» в игре, но я не могу найти способ постоянного ввода данных без нажатия клавиши возврата. Я видел, что в Windows есть модуль msvcrt, который имеет функцию getch, поэтому мне интересно, есть ли способ симулировать это в OSX или, проще, просто постоянно вводить данные с клавиатуры.

1 Ответ

0 голосов
/ 04 января 2012

Попробуйте библиотеку curses:

http://docs.python.org/py3k/library/curses.html

Curses - это библиотека для управления терминалом, которая также включает в себя такие функции, как формы рисования. Он доступен в любой POSIX-совместимой системе, включая Mac OS X и GNU / Linux.

Вот пример:

import curses

# Turn off line buffering
curses.cbreak()

# Initialize the terminal
win = curses.initscr()

# Make getch() non-blocking
win.nodelay(True)

while True:
    key = win.getch()
    if key != -1:
        print('Pressed key', key)
    time.sleep(0.01)
...