使用两个文件导入,两者都需要导入



我有两个py文件,并且简化了我只有几行的问题。

一:

from Two import PrintTwo
class PrintOne(object):
    print('HelloOne')

二:

from One import PrintOne
class PrintTwo(object):
    print('HelloTwo')

这将显示此消息:无法按预期导入名称"PrintTwo"。

但我的问题是我需要在两个文件中使用这些类的某些函数。

我找不到解决方案,对于这种情况,正确的工作流程如何?

亲切问候

这称为循环导入,如果您正确设置它们,它们可以工作。但是,我不建议使用循环导入,而是重构代码。

如果我没有看到它,很难说在代码上更改什么。当我遇到循环导入时,我会尝试通过重构代码来避免它们。可能的解决方案是:

  • 将"共享"代码的位移动到自己的 Python 模块中(推荐(
  • 延迟导入模块/组件,意味着仅在使用时才导入它(有效但不是真正的闪亮(

我无法向您展示基于上述代码的示例,因为您只循环导入模块而不使用它们。

如前所述,解决方法是仅在使用导入时使用导入,例如:

class PrintOne:
    def some_magic_method(self):
        from Two import PrintTwo

相关内容

最新更新