python - Python 中指示未使用的模块导入的惯用方式是有意的

标签 python flask python-import conventions pyflakes

有时看似未使用的 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/

相关文章:

azure - Flask应用程序绝对url重定向在http而不是azure应用程序服务中的https

node.js - 本地主机 3000 和 5000 之间的区别?

multithreading - 在带有线程的 Flask 应用程序中使用 Keras 模型

python - 在 `import` 语句之前更改模块对象?

python - Python 3 从包内脚本绝对导入的问题

python - “yield”关键字有什么作用?

python - 如何对 pandas 中的列进行多数投票

python - Pytest 警告 : Module already imported so cannot be rewritten: pytest_remotedata

python - 如何在Python中将一维图像数组转换为PIL图像

python - 如何从不同的群体中获得相似的分布?