У меня есть некоторый код Python, который не использует проклятия. Возможно, в какой-то момент я изменю это и буду использовать проклятия во всем коде. Тем не менее, теперь это не вариант.
Я искал, как читать одиночное нажатие клавиш в Linux, и единственное возможное решение, которое я нашел, это использование curses. Тем не менее, я не знаю, возможно ли использовать проклятия только для чтения ключа, но не мешать моему терминалу.
Я попробовал это
def get_key_via_ncurses_impl(win):
return win.getkey()
def get_key_via_ncurses():
x = curses.wrapper(get_key_via_ncurses_impl)
print(x)
return x
.. но при вызове он очищает экран и только после нажатия клавиши я снова вижу исходный экран (с выводом, для которого я не сделалиспользовать проклятия).
Я также попробовал это:
def get_key_via_ncurses():
stdscr = curses.initscr()
x = get_key_via_ncurses_impl(stdscr)
print(x)
return x
в надежде, что curses.initscr()
не очистит экран, но это произойдет и, конечно же, неправильная очистка оставит мой терминал в грязном состоянии. государство.
Можно ли использовать проклятия для чтения одной клавиши, но оставить остальные выходные данные "незанятыми"? Если да, что я делаю неправильно?