python - 如何从内部确定 Python 模块/文件是导入还是独立调用?
问题描述
我想构建一些 Python 代码,以便我可以从命令行调用它,或者将它作为包从另一个程序导入。
如果我导入它,我会调用它,比如说,通过它的main()
带有一些参数的函数。如果直接执行,我会main()
在文件末尾用默认参数调用。
如何从模块内部确定是否main()
使用默认参数调用?
或者,当我打电话时imp.importlib.import_module()
,有没有办法将选项传递给模块(比如通过它的全局变量)?
解决方案
您可以检查文件是否直接运行:
if __name__ == '__main__':
print("I am run as a script!")
else:
print("I am being imported")
推荐阅读
- java - 如何使用 querydsl 为 listagg 编写替代查询
- php - php bin/magento setup:di:compile 致命错误
- firebase - 谷歌分析屏幕跟踪仅持续 30 分钟
- sql-server - 为什么 T-SQL CROSS APPLY 有时表现得像 LEFT JOIN
- locale - 支持哪些 ICU Collation 变体?
- pine-script - 使用 Heiken Ashi 的分形
- python - 将在一个函数中打开的文件传递给另一个函数以在 python 中对其进行分析
- python - 将字符串列表读取为文件,python3
- ieee-754 - IEEE 754:为什么谓词 == 和 != 没有发出信号?
- r - 如何编辑 predict.lm() 使用的模型矩阵中的交互?