诅咒返回 AttributeError:“模块”对象没有属性“initscr”
Posted
技术标签:
【中文标题】诅咒返回 AttributeError:“模块”对象没有属性“initscr”【英文标题】:Curses returning AttributeError: 'module' object has no attribute 'initscr' 【发布时间】:2014-03-24 04:46:01 【问题描述】:我正在关注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 网站复制它,所以你会认为它会工作!
【问题讨论】:
【参考方案1】:您将文件命名为 curses.py
,因此 Python 认为该文件是 curses
模块。将其命名为其他名称。
【讨论】:
哦,当然......我不敢相信我做到了:P 谢谢:D 如果错误仍然存在,请检查同一文件夹中的curses.pyc
文件,并将其删除。【参考方案2】:
mv curses.py someOtherName.py
如果您遇到同样的错误,请尝试删除任何 .pyc
文件。
在这种情况下,它将是rm curses.pyc
。
【讨论】:
感谢您的回答,但这本质上是上述问题的副本。 :) 一种,但可能会忘记删除 .pyc 文件 .. 在这种情况下会出现同样的错误 确实如此。我在想你应该对此发表评论,但在获得 50 次代表之前你不能这样做。以上是关于诅咒返回 AttributeError:“模块”对象没有属性“initscr”的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:模块“pyspark.sql.types”没有属性“ListType”
AttributeError:“模块”对象没有属性“情节”-Seaborn
AttributeError:“模块”对象没有属性“maketrans”