语法错误¶
ID: py/syntax-error
Kind: problem
Security severity:
Severity: error
Precision: high
Tags:
- reliability
- correctness
Query suites:
- python-security-and-quality.qls
语法错误会阻止模块被评估,从而无法导入。尝试导入语法无效的模块将失败;将引发 SyntaxError
。
语法错误的一个常见原因是 Python 2 和 Python 3 之间的语法差异。特别是,如果 Python 3 文件被认为与 Python 2 兼容(反之亦然),则可能会出现语法错误的提示。明确指定预期的 Python 版本可以帮助避免这种情况。
模块中存在语法错误也可能暗示存在其他问题。模块在实践中从未导入,可以删除,或者在导入周围的 try
语句错误地忽略了 SyntaxError
。
建议¶
修复语法错误是显而易见的解决方法。但是,值得调查为什么包含语法错误的模块能够持续存在并解决该问题。
如果您怀疑语法错误是由分析使用错误的 Python 版本引起的,请考虑明确指定版本。当您使用 CodeQL 操作运行代码扫描时,您可以配置要使用的 Python 版本。有关更多信息,请参见 分析 Python 依赖项。
参考¶
Python 教程:SyntaxErrors.