python - 如何停止导入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")
我想我可以将所有内容都注释掉,这样就可以了……但我想知道是否存在更简洁的东西
--- 目的:这背后的想法是我有一个可以通过插件扩展的大型代码库。有一个插件目录,因此主程序在该目录中查找并运行其中的所有模块。用例只是在导致问题的插件中放置一个小终止开关,作为临时删除或移动文件的替代方法
解决方案
您可以有条件地导入模块:
if thing == otherthing:
import module
这是 python 中完整的有效语法。有了这个,您可以在项目开始时在变量上设置一个标志,该标志将根据您在该项目中的需要导入模块。
推荐阅读
- javascript - React Native (iOS):加载 javascript 之前的 RCTEventEmitter
- html - 标签输入在重新加载页面后消失
- c# - PostBack 刷新后保持页面的 ViewState
- java - StartCalculatorActivity 类的 NoClassDefFoundError
- php - 将所有 www 或非 www 页面重定向到 https://www,除了一页
- python - 实现 tkinter 校准栏的最佳方法?
- ios - 如何测试在 IOS 应用程序更新时运行的代码?
- angular - 由于错误“找不到模块'@angular/compiler-cli'”而无法运行 ng serve
- xml - 对 2 个元素中存在的相同属性施加差异限制
- c# - 在 MassTransit 5.2.1 中的 ConfigurePublish 中使用SendExecute