CodeQL 文档

语法错误

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

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

语法错误会阻止模块被评估,从而无法导入。尝试导入语法无效的模块将失败;将引发 SyntaxError

语法错误的一个常见原因是 Python 2 和 Python 3 之间的语法差异。特别是,如果 Python 3 文件被认为与 Python 2 兼容(反之亦然),则可能会出现语法错误的提示。明确指定预期的 Python 版本可以帮助避免这种情况。

模块中存在语法错误也可能暗示存在其他问题。模块在实践中从未导入,可以删除,或者在导入周围的 try 语句错误地忽略了 SyntaxError

建议

修复语法错误是显而易见的解决方法。但是,值得调查为什么包含语法错误的模块能够持续存在并解决该问题。

如果您怀疑语法错误是由分析使用错误的 Python 版本引起的,请考虑明确指定版本。当您使用 CodeQL 操作运行代码扫描时,您可以配置要使用的 Python 版本。有关更多信息,请参见 分析 Python 依赖项

参考

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