Python解释器中的NameError

Python解释器中的NameError,python,Python,这是我的建议: import os, sys sys.path.append(os.path.abspath("..")) from myModule import * 然后在命令行中,同一目录: Python 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>&

这是我的建议:

import os, sys
sys.path.append(os.path.abspath(".."))

from myModule import *
然后在命令行中,同一目录:

Python 2.7.4 (default, Sep 26 2013, 03:20:26) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> c = myClass
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'myClass' is not defined
Python 2.7.4(默认,2013年9月26日03:20:26)
[GCC 4.7.3]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>c=myClass
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“myClass”
它会起作用的


这与
\uuu init\uuu.py
完全无关。

您必须首先将其导入python解释器

例如,如果这是您的目录结构:

|package
    |module
        __init__.py
        someothermodule.py
那么你必须这样做:

>>> sys.path.append(os.path.abspath(r"C:\path\package"))
>>> import module

希望这有帮助

为什么您希望
\uuuu init\uuuuu.py
此时运行?哪个
\uuuu init\uuuuu.py
?Python如何知道您希望它运行?您能给我们展示一下您的目录结构吗?您在init文件中导入,而不是在u python中导入。换句话说,您的
\uuuu init\uuuuuuuuuupy
与您的错误完全无关。我认为“from module import*”会导入所有类(myClass在module.py中)。我把它放在init.py中,那么它不是应该在每次我启动命令行时导入吗?在您的计算机中,您可以有一百种不同的
\uuuuuu init\uuuuu.py
。通过这样命名,当您导入文件夹名称时,您就导入了该文件。请参阅我关于如何正确操作的答案。@onepiece:不,init.py根本不会自动启动。有很多方法可以自动启动Python,但这不是您想要做的。你必须后退一步,问一个问题来解释你试图实现的目标,因为无论你试图做什么,你都试图以错误的方式解决它。我正在尝试自动导入模块“myModule”,这样我就不必在启动命令行时手动导入它。你能帮我理解init.py的实际用途吗?
|package
    |module
        __init__.py
        someothermodule.py
>>> sys.path.append(os.path.abspath(r"C:\path\package"))
>>> import module