Python解释器中的NameError

时间:2013-11-10 11:06:12

标签: 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.
>>> c = myClass
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'myClass' is not defined

2 个答案:

答案 0 :(得分:2)

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

您尚未导入myClass,因此您的Python解释器不知道“myClass”的含义。

要明白这一点,请键入:

from themodule.wheremyclassisdefined import myClass

它会起作用。

这与__init__.py完全无关。

答案 1 :(得分:0)

你必须先将它导入你的python解释器。

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

|package
    |module
        __init__.py
        someothermodule.py

然后你必须这样做:

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

希望这有帮助!