Python 名称错误:全局名称'';未定义,但存在差异

Python 名称错误:全局名称'';未定义,但存在差异,python,module,Python,Module,据您所知,当用户出现以下错误时: NameError: global name 'A_NAME' is not defined 用户可能犯了两个错误 考虑以下代码: from ui.interface.interface import * self.interfaceCodesConstructor = ui.interface.interface.InterfaceCodes() 如果用户从第2行删除ui.interface.interface 用户忘记了导入模块 以上代码是属于我的。不幸

据您所知,当用户出现以下错误时:

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

考虑以下代码:

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

    NameError: global name 'ui' is not defined
    
    第二行

    我的目录结构是正确的:

    main.py 
    |
    |
    ui--intreface--interface.py
    \
     \materliasFrame.py
    
    注意:我对每个目录都有
    \uuuu init\uuuuuu.py


    问题:问题出在哪里?

    您没有导入ui.interface.interface-您要求python从
    ui.interface.interface
    导入所有函数

    所以你可以简单地说

    self.interfaceCodesConstructor = InterfaceCodes()
    
    或者更改您的导入声明


    为了澄清,你要么

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


    我只是导入行并将其放入
    self.interfaceCodesConstructor=ui.interface.interface.InterfaceCodes()
    ,谢谢。如果可能的话,编辑行
    self.interfaceCodesConstructor=InterfaceCodes()
    self.interfaceCodesConstructor=ui.interface.interface.InterfaceCodes()
    ,对不起,我没有按照你的要求。我会更新我的帖子,让它更清晰。
    from ui.interface.interface import *
    self.interfaceCodesConstructor = InterfaceCodes()