导入包含主模块功能的模块

时间:2014-04-10 01:33:57

标签: python

假设我有这个文件夹结构:

  module
      module.py
      __init__.py
  main.py

Main.py导入module.py,它本身应具有仅存在于main.py中的函数。例如,main.py代码:

  from module import *

  def foo(var):
      print var

  module.foo_module()

module.py的内容:

   def foo_module():
       foo("Hello world!")

无论如何我可以在不重复功能的情况下实现这一目标吗?如果没有,我如何将main.py导入module.py?

非常感谢

2 个答案:

答案 0 :(得分:1)

一切都是python中的一个对象,包括函数。您可以将必要的函数作为参数传递。在你的情况下这是否有意义,我没有足够的信息知道。

def foo(var):
    print var

module.foo_module(foo)

def foo_module(foo):
    foo("Hello world!")

答案 1 :(得分:0)

避免循环导入。您可以将foo放入module

,然后执行此操作

如果您不希望foo中有module,则可以创建一个单独的模块bar来保留foo,并在两者中导入bar mainmodule