首页 > 解决方案 > 如何从内部确定 Python 模块/文件是导入还是独立调用?

问题描述

我想构建一些 Python 代码,以便我可以从命令行调用它,或者将它作为包从另一个程序导入。

如果我导入它,我会调用它,比如说,通过它的main()带有一些参数的函数。如果直接执行,我会main()在文件末尾用默认参数调用。

如何从模块内部确定是否main()使用默认参数调用?

或者,当我打电话时imp.importlib.import_module(),有没有办法将选项传递给模块(比如通过它的全局变量)?

标签: pythonpython-3.xpython-importpython-importlib

解决方案


您可以检查文件是否直接运行:

if __name__ == '__main__':
    print("I am run as a script!")
else:
    print("I am being imported")

推荐阅读