从特定模块导入类时遇到一些问题。类位于模块my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7中
这个代码有效
import my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7
这意味着我要去上课
^{pr2}$但事实并非如此
from my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7 import MyClass
这个也没有
将mymodule1.mymodule2.mymodule3.mymodule4.mymodule5.mymodule6.mymodule7导入为myname
两人都说这个错误
AttributeError: 'module' object has no attribute my_module7'
这让我完全不知所措,我已经为此工作了几个星期了。有什么建议吗?在
编辑-我不能改变结构不幸,因为它是由我使用的系统强加
看起来像是循环导入。在
戈登·麦克米兰说: 如果两个模块都使用“导入”形式的导入,则循环导入是可以的。当第二个模块想要从第一个模块中获取一个名称(“from module import name”),并且导入处于顶层时,它们将失败。这是因为第一个模块中的名称还不可用,因为第一个模块正忙于导入第二个模块。在
我想你可能会首先考虑另一种设计(重新设计你的模块分解,使之更平坦),但这不是你的问题,请尝试:
模块是python中的第一类对象,因此可以用变量对它们进行别名。在
相关问题 更多 >
编程相关推荐