我已经尝试过win.inch(y,x)
和win.instr(y,x)
,甚至 win.getch()
和win.getkey()
。没有一个能达到侦探的效果吗?我已经通过 stackoverflow 和 google 进行了搜索,但到目前为止我还没有找到解决方案。我已经阅读了python的curses手册。但还是无法解决这个问题。
我的代码:
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 个小时的代码。我确信我被这个值(value)判断断言“if stdscr.inch(1,1,) == 'x'
:”所困。如何实现我的目的是查看某个坐标处是否有特定的字符串,然后执行相应的操作?
最佳答案
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':
关于python - 如何使用 ncurses 返回字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774333/