CodeQL 文档

模块自身导入

ID: py/import-own-module
Kind: problem
Security severity: 
Severity: recommendation
Precision: very-high
Tags:
   - maintainability
   - useless-code
Query suites:
   - python-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

模块不需要自身导入。模块自身导入可能会导致错误,因为模块在被自身导入时可能处于不完整状态。

建议

删除导入语句。将所有形式为 mod.name 的表达式(其中 "mod" 是当前模块的名称)转换为 name

示例

在此示例中,模块 ModuleImportsItself 自身导入,并包含一个引用其所在模块的表达式。

import ModuleImportsItself

def factorial(n):
    if n <= 0:
        return 1
    return n * ModuleImportsItself.factorial(n - 1)

可以删除导入并更正引用。


def factorial(n):
    if n <= 0:
        return 1
    return n * factorial(n - 1)

参考资料

  • ©GitHub, Inc.
  • 条款
  • 隐私