如何停止导入python模块

时间:2018-05-29 18:21:58

标签: python

假设我有一个文件my_plugin.py

var1 = 1
def my_function():
    print("something")

在我的主程序中导入此插件

import my_plugin

有没有办法用return语句静默禁用这个插件?

例如,我可以像这样“屏蔽”my_function的行为:

def my_function():
    return
    print("something")

我想知道我是否可以为模块执行此操作,以便根据我尝试对整个项目执行的操作来打开和关闭它。如下所示:

return  # this is invalid, but something that says stop running this module
        # but continue on with the rest of the python program
var1 = 1
def my_function():
    print("something")

我想我可以对所有内容进行评论,这样可行......但我想知道是否存在更简洁的内容

---目的: 这背后的想法是我有一个可以通过插件扩展的大型代码库。有一个插件目录,所以主程序在目录中查找并运行其中的所有模块。用例只是在插件中插入一个小的kill开关,导致问题,作为临时删除或移动文件的替代方法

1 个答案:

答案 0 :(得分:4)

您可以有条件地导入模块:

if thing == otherthing:
   import module

这是python中完整有效的语法。有了这个,您可以在项目开始时在变量上设置一个标志,该标志将根据您在该项目中所需的内容导入模块。