假设我有一个文件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开关,导致问题,作为临时删除或移动文件的替代方法
答案 0 :(得分:4)
您可以有条件地导入模块:
if thing == otherthing:
import module
这是python中完整有效的语法。有了这个,您可以在项目开始时在变量上设置一个标志,该标志将根据您在该项目中所需的内容导入模块。