Python Curses初始化错误

3
我正在尝试启动。
screen = curses.initscr()

但是它失败了并返回了:
File "C:\Python32\lib\curses\__init__.py", line 31, in initscr
fd=_sys.__stdout__.fileno())
AttributeError: 'NoneType' object has no attribute 'fileno'

这是我的系统Python 3.2.3(默认,Apr 11 2012,07:12:16)[MSC v.1500 64位(AMD64)] on win32。

这是我第一次在这台计算机上运行Python,它是Windows 7 64位。

这是否与我的操作系统有关?有什么解决方法吗?


你是否正在使用来自 --> http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses 的 curses 模块? - Marcel Wilson
3个回答

1

在Windows上无法使用模块;显然有DOS和OS/2端口,但它主要是一个仅限于POSIX的库。

您将不得不使用Windows特定的端口,例如wcurses,支持Windows的第三方项目,例如PDCurses,或者您可以尝试console模块(后者以类似的方式驱动Windows CMD控制台)。


1
有趣的是,这是PDCurses库的打包,而不是curses。本质上,它就像wcurses一样是一个移植库。 - Martijn Pieters
我在我的帖子中添加了这个; 我之前不知道那个项目。 - Martijn Pieters

0

几乎所有的Windows平台上的Python版本都可以下载curses扩展。我遇到了与Pieters相同的错误,但这是因为我试图从Idle中运行程序。显然,当使用像curses这样的扩展时,这是行不通的。只需左键单击.py程序,它将自己调用Python及其扩展,这个错误就会消失。


0

如果您正在使用IDLE,那么您无法使用curses。如果您想在IDLE中使用curses,请使用以下.bat文件启动:

echo Waiting for starting program
python -m idlelib

它将curses重定向到cmd窗口


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接