2011-11-21 100 views
1

tigetstr後我升級Ubuntu的我的Python改爲2.6.6和打電話時我app.py不輟 誤差與詛咒在Python 2.6.6

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

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之前進行一些終端設置...

+0

這對我不起作用,但我正在做另一次Ubuntu升級。 – xralf

+0

Python'2.7.2'確定。 – xralf