改了一批 Python 文件、还没来得及完整跑测试时,可以先用标准库的 compileall 批量编译检查语法,不需要额外安装工具。
环境:Python 3.9+。建个最小目录试试:
mkdir -p py-check-demo/src
printf 'value = 1\n' > py-check-demo/src/good.py
printf 'value = \n' > py-check-demo/src/bad.py
python -m compileall -q py-check-demo/src
echo $?
有语法错误时命令会返回非零状态,输出也会指出文件和行号;全是合法语法时返回 0。放进提交钩子或 CI 时可以直接利用这个退出码。
它只检查能不能被编译,不会发现类型问题、导入缺失或运行时逻辑错误,所以后面的测试还是要跑。