有时看似未使用的 Python 模块导入实际上对程序的正常运行至关重要。看似未使用的导入会导致来自 PyFlakes 等工具的虚假消息,并且会吸引过度热心的程序员的不必要的关注。例如,C++ 具有(自 C++ 11 起)一种惯用的方式来使用 [[unused]]
属性(以及 [[maybe_unused]]
自 C++ 17 起) .
我特别在像 Flask 这样的网络框架的上下文中问这个问题,这种情况经常发生。例如,这个来自 Flask 应用程序的样板代码,对于其正常运行至关重要:
from app import auth_routes, app, db
from app.resources import api
我通常通过以下方式处理这种情况
import X
assert X is not None # Explanatory comment
是否有一种更明确的意图和更“Pythonic”的方法来实现这一目标?
最佳答案
每个工具都有自己的错误抑制方式。例如:
皮林特:
import X # pylint: disable=unused-import
Pyflakes:
import X # NOQA
PyCharm:
# noinspection PyUnresolvedReferences
import X
关于python - Python 中指示未使用的模块导入的惯用方式是有意的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629875/