【发布时间】:2021-10-14 21:52:02
【问题描述】:
假设我有以下代码:
try:
import bar
except ImportError:
bar = None
@bar.SomeProvidedDecorator
def foo():
pass
其中 bar 是一个可选依赖项。如果没有导入 bar,上面的代码将失败。 有没有推荐的方法来处理这个问题?
我想出了:
try:
import bar
except ImportError:
bar = None
def foo():
pass
if bar is not None:
foo = bar.SomeProvidedDecorator(foo)
但我想知道是否有更好的方法来处理这个问题(即有没有办法保留装饰器的语法)?
【问题讨论】:
标签: python python-import python-decorators