我有两个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