Pycharm Python 未使用的子类导入尽管它们被隐式使用

Pycharm Python Unused Imports For Subclasses Imports Although They Are Implicitly Used

在我下面的代码中,我在 python 中有一个基础 class 和一些从这个 class 继承的子 class。 每个子 class 都有一个转换函数和一个 should_convert 函数。 我想要做的是遍历所有 sub classes,如果 sub class 应该转换,则稍后执行转换。 代码看起来像这样

    from {file path to converter a} import ConverterA
    from {file path to converter b} import ConverterB
    all_converters = [converter(input_path, server_version) for converter in AbstractConverter.__subclasses__()]
    relevant_converters = [converter for converter in all_converters if converter.should_convert()]
    for converter in relevant_converters:
        converter.convert()

所以为了找到子 classes,我必须导入它们(否则它不会识别子 classes)

但是 Pycharm 表示未使用这些导入(在 sub_classes 方法中隐式使用)。 关于如何将进口标记为已使用的任何帮助?或者这种处理代码的方法可能不是一个好的做法,应该使用其他方法?

谢谢。

您可以添加注释来抑制 pycharm 的检查。要么手动添加评论:

# noinspection PyUnresolvedReferences
import os

在上面的代码中,导入 os 将不再显示为未使用。

或者您可以将鼠标悬停在该行上,这样 pycharm 会显示“未使用的导入语句”对话框,然后单击 More Actions...,单击 Optimize Import 旁边的小箭头图标。最后,selectSuppress for a statement。然后它会自动添加评论 # noinspection PyUnresolvedReferences.

link PyCharm 的文档中关于抑制检查的内容(带屏幕截图):https://www.jetbrains.com/help/pycharm/disabling-and-enabling-inspections.html#suppress-in-editor