如何从内部确定是独立导入还是调用了Python模块/文件?

时间:2019-05-03 16:27:52

标签: python python-3.x python-import python-importlib

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

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

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

或者,当我调用imp.importlib.import_module()时,是否可以将选项传递到模块中(例如通过其全局变量)?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法检查文件是否直接运行:

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