NameError:未定义全局名称'',但存在差异

时间:2013-09-05 04:11:29

标签: python module

据您所知,当用户收到以下错误时:

NameError: global name 'A_NAME' is not defined
用户可能犯了两个错误。

考虑以下代码:

from ui.interface.interface import *
self.interfaceCodesConstructor = ui.interface.interface.InterfaceCodes()
  1. 如果用户从第2行删除ui.interface.interface
  2. 用户忘记了导入模块。
  3. 以上代码属于我。不幸的是,我收到了错误:

    NameError: global name 'ui' is not defined
    

    第二行。

    我的目录结构是真的:

    main.py 
    |
    |
    ui--intreface--interface.py
    \
     \materliasFrame.py
    

    注意:我为每个目录__init__.py

    问题:哪里有问题?

1 个答案:

答案 0 :(得分:1)

您没有import ui.interface.interface - 您要求python从ui.interface.interface导入所有功能。

所以你可以简单地说

self.interfaceCodesConstructor = InterfaceCodes()

或更改您的导入声明。


澄清一下,你要么

import ui.interface.interface
self.interfaceCodesConstructor = ui.interface.interface.InterfaceCodes()

from ui.interface.interface import *
self.interfaceCodesConstructor = InterfaceCodes()