Python:从导入了当前文件的文件中调用函数

时间:2013-10-12 08:15:55

标签: python function import call main

我试着四处寻找,但似乎没有找到我的问题的答案,所以如果我错过了一些事情并且事实上已经得到了回答,我很抱歉。

所以基本上我有main.py和另一个名为check.py的文件(都在同一目录下)

在我的main.py中我有:

from check import checkfunction

我在main.py中有一个小函数,我必须在check.py中调用,但我似乎无法在check.py上运行此导入:

from main import mainfunction

如何在check.py内部使用main函数?

谢谢!

2 个答案:

答案 0 :(得分:1)

你有一个循环依赖的设计,这通常是一个坏事,因为你的两个python模块紧密耦合。

考虑重构代码。但是如果您必须坚持使用您的设计,请参阅以下SO question以获取有关循环导入如何在Python中工作以及需要注意的各种问题的更多信息。

答案 1 :(得分:0)

有几个选择:

  • 将公共功能移动到由其他模块导入的模块。
  • 将两个模块合并为一个。
  • 将函数从main传递给需要调用它的代码。
  • 猴子在导入后将该功能修补到检查模块中。
  • 重构整个事情,以便您没有循环依赖。

如果你真的解释了为什么你有这个设计,有人可能会提出一个更好的方法。