CodeQL 文档

显式导出未定义

ID: py/undefined-export
Kind: problem
Security severity: 
Severity: error
Precision: high
Tags:
   - reliability
   - maintainability
Query suites:
   - python-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

当使用 import * 导入模块时,将导入 __all__ 中列出的所有属性。如果 __all__ 包含未在模块中定义的属性,则会触发异常。这通常表示 __all__ 中的属性名称或对象的名称存在错别字。

建议

更正所有错别字,无论是在对象名称中还是在 __all__ 中的字符串中。如果不存在错别字,则从 __all__ 中删除该名称或将该对象添加到模块中。

示例

在示例中,函数名 spam__all__ 列表中拼写错误。这将导致 spamm 被突出显示为未定义的导出。更正拼写将修复缺陷。

__all__ = ['spamm', 'troll', 'paywall']

def spam(): return 'Spam'
def troll(): return 'Troll'
def paywall(): return 'Pay wall'

参考资料

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