考虑以下代码。你知道吗
import curses
import rlcompleter
def main(stdscr):
while 1:
c = stdscr.get_wch()
curses.wrapper(main)
当我运行这个并调整终端大小时,程序在get_wch
处失败,说
Traceback (most recent call last):
File "foo.py", line 8, in <module>
curses.wrapper(main)
File "/usr/lib/python3.3/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "foo.py", line 6, in main
c = stdscr.get_wch()
_curses.error: no input
但是,当我删除行import rlcompleter
时,会正确返回KEY_RESIZE
,并且一切正常。你知道吗
怎么回事??你知道吗
我刚试过,你是http://bugs.python.org/issue2675的受害者,这是一个readline+curses问题,而不是Python问题。你知道吗
简言之,curses行为会根据readline设置的环境变量行和列进行更改。你知道吗
如果你加上
在那里的某个地方,它将消除冲突,并按照您的期望行事。如果您想要慷慨大方,您可能需要save/restore=)。你知道吗
相关问题 更多 >
编程相关推荐