Как вернуть строковое значение с помощью ncurses?
Я пробовал win.inch(y,x)
а также win.instr(y,x)
, четное win.getch()
а также win.getkey()
, Никто не может добиться детективного эффекта? Я искал через stackru и google, но пока не нашел решения. Я уже прочитал руководство по проклятиям Python. Но до сих пор не могу решить это.
Мой код:
import curses
stdscr = curses.initscr()
stdscr.addstr(1,1,'x')
if stdscr.inch(1,1) == 'x':
stdscr.addstr(2,1,'success')
stdscr.refresh()
stdscr.getch()
curses.endwin()
Я запустил этот кусок кода, но никаких "успехов" не было показано на экране. Я отлаживал свой код в течение 4 часов прошлой ночью. И я уверен, что застрял в этом ценностном иске ", если stdscr.inch(1,1,) == 'x'
: ". Как я мог реализовать свою цель, чтобы увидеть, есть ли конкретная строка в координате, а затем выполнить соответствующее действие?
1 ответ
curses.window.inch
возвращает int
не str
,
Следующая строка:
if stdscr.inch(1, 1) == 'x':
должно быть:
if stdscr.inch(1, 1) & 0xff == ord('x'):
или используя instr
(без указания длины, instr
возвращает строку, начинающуюся с заданной позиции до конца строки):
if stdscr.instr(1, 1, 1) == 'x':