首页 > 解决方案 > 如何停止导入python模块

问题描述

假设我有一个文件my_plugin.py

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

在我的主程序中,我导入了这个插件

import my_plugin

有没有办法通过类似返回语句的方式静默禁用这个插件?

例如,我可以“掩盖”这样的行为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")

我想我可以将所有内容都注释掉,这样就可以了……但我想知道是否存在更简洁的东西

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

标签: python

解决方案


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

if thing == otherthing:
   import module

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


推荐阅读