debugging 将python中的模块作为命令行选项导入

t1qtbnec  于 2023-01-26  发布在  Python
关注(0)|答案(1)|浏览(139)

有没有一种方法可以通过命令行导入一个模块,并将其暴露给运行脚本(或者最好是通过所有执行)?我的用例是调试:我有一组调试工具(用来显示图像、直方图......),我只想在调试时导入它们(我团队中的其他人不需要关心它们,调试代码不会被推送到主存储库,也不会在执行时导入......)。
例如,在我这边调试时,我希望:python --option "import debug_utils.py" main.py,并且我的个人调试功能对于正在运行的脚本是可见的。
在执行时,其他人和我将简单地执行,而没有包/导入冲突:python main.py,并且不导入调试实用程序。
谢谢!

mzmfm0qo

mzmfm0qo1#

Python中没有这样的选项,但是你可以使用一个环境变量来控制调试工具的导入,如下所示:

import os

if 'MY_APP_DEBUG' in os.environ:
    import debug_utils
else:
    debug_utils = None

然后在你的代码中,你可以写:

if debug_utils is not None:
    debug_utils.show_debugging_data()

相关问题