Python 2.6.6中的curses tigetstr错误

时间:2011-11-21 14:12:55

标签: python ncurses curses

升级Ubuntu后,我的Python改为2.6.6,我的app.py停止工作 在打电话时

sys.stdout.write(curses.tigetstr('civis'))

它写道:

Traceback (most recent call last):
  File "app.py", line 60, in <module>
    sys.stdout.write(curses.tigetstr('civis'))
TypeError: argument 1 must be string or read-only character buffer, not None

我应该为更新版本的Python更改我的代码吗?

1 个答案:

答案 0 :(得分:1)

阅读documentation

  

curses.tigetstr(capname)

     

返回与terminfo功能名称capname对应的字符串功能的值。没有   如果capname不是字符串功能,或者被取消或,则返回   终端描述中没有。

我认为它可能与终端描述有关。 我在Ubuntu 11.10上运行python 2.7.2,以下代码不会引发任何异常:

import sys
import curses
curses.setupterm()
sys.stdout.write(curses.tigetstr('civis'))

这对你有用吗?如果是,在调用curses.tigestr ...

之前,您的问题可能与某些终端设置有关