从任何子程序文件运行主python程序

时间:2012-09-18 21:15:28

标签: python import

这是一个方便而不是真正的问题,但我正在研究的项目有很多单独的文件,我希望基本上能够运行任何这些文件(基本上只包含类)运行主文件。

现在正在编写这个问题的第一句话,我尝试将main.py导入到每个文件中,这似乎工作得很好而且花花公子,但我不能帮助但感觉:

  1. 可能会导致问题,
  2. 我之前遇到过圆形进口问题,而且有点惊讶,没有任何事情发生。

1 个答案:

答案 0 :(得分:3)

首先让我说:这很可能是一个坏主意,而且它绝对不是标准的。它可能会导致混乱和挫折。

但是,如果你真的想这样做,你可以把:

if __name__ == "__main__":
    from mypackage import main
    main.run()

其中,假设mypackage.main.run()是您的主要入口点,将允许您运行所需的任何文件,就像它是主文件一样。

你可能仍会遇到循环导入的问题,这些问题将完全不可避免,除非mypackage.main没有导入任何东西......这会使它变得毫无用处:)