Curses返回AttributeError:'module'对象没有属性'initscr'

时间:2014-02-22 13:57:31

标签: python curses

我关注Curses programming HowTo on the Python site,但我遇到了一个相当离奇的问题。

我的代码目前很短,实际上没有做任何因为这个错误,我还没能继续前进。这是我的代码:

import curses
#from curses import wrapper

stdscr = curses.initscr()
curses.noecho()
curses.cbreak()

stdscr.keypad(True)

def main(stdscr):

    begin_x = 20; begin_y = 7
    height = 5; width = 40
    win = curses.newwin(height, width, begin_y, begin_x)

    stdscr.refresh()
    stdscr.getkey()

if __name__ == '__main__':
    wrapper(main)

和追溯:

Traceback (most recent call last):
  File "curses.py", line 1, in <module>
    import curses
  File "/home/nate/Documents/Programming/Python/curses.py", line 4, in <module>
    stdscr = curses.initscr()
AttributeError: 'module' object has no attribute 'initscr'

我注释了from curses import wrapper,因为这给了我另一个错误,

Traceback (most recent call last):
  File "curses.py", line 1, in <module>
    import curses
  File "/home/nate/Documents/Programming/Python/curses.py", line 2, in <module>
    from curses import wrapper
ImportError: cannot import name wrapper

但我想这将是另一个问题。

我现在正在逐字逐句地学习教程,学习诅咒,但目前我唯一能做的就是使用针对Python的诅咒:P。

我在Ubuntu 13.10上运行Python 3.3.2,所以this question与此无关,因为他使用Windows而我不是(谢天谢地:D)

为什么我无法做到这一点?我是直接从Python站点复制它,所以你认为它会起作用!

2 个答案:

答案 0 :(得分:38)

您将文件命名为curses.py,因此Python认为该文件是curses模块。将其命名为其他。

答案 1 :(得分:2)

mv curses.py someOtherName.py

如果您收到同样的错误,请尝试删除所有.pyc文件。

在这种情况下,它将是rm curses.pyc