gpt4 book ai didi

python - 如何检查python模块是否存在并且可以导入

转载 作者:IT老高 更新时间:2023-10-28 22:21:27 30 4
gpt4 key购买 nike

我正在使用 debug toolbar使用 django 并希望在两个条件为真时将其添加到项目中:

  • settings.DEBUGTrue
  • 模块本身存在

做第一个并不难

# adding django debug toolbar
if DEBUG:
MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
INSTALLED_APPS += 'debug_toolbar',

但是如何检查模块是否存在?

我找到了这个解决方案:

try:
import debug_toolbar
except ImportError:
pass

但是由于导入发生在 django 的其他地方,我需要 if/else 逻辑来检查模块是否存在,所以我可以在 settings.py 中检查它

def module_exists(module_name):
# ??????

# adding django debug toolbar
if DEBUG and module_exists('debug_toolbar'):
MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
INSTALLED_APPS += 'debug_toolbar',

有办法吗?

最佳答案

您可以在函数中使用相同的逻辑:

def module_exists(module_name):
try:
__import__(module_name)
except ImportError:
return False
else:
return True

此解决方案没有性能损失,因为模块只导入一次。

关于python - 如何检查python模块是否存在并且可以导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5847934/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com