← 中文资源

简体中文版本

Python SyntaxError: invalid syntax

修复 Python 的 SyntaxError:借助插入符定位,检查近期改动,并注意 Python 2 的 print 与 async 差异。

阅读英文原文

症状

解释器在启动前即拒绝执行,抛出 SyntaxError: invalid syntax 并标出插入符。被标记的行往往看起来没问题,这正是关键线索。

诊断

查看插入符上一行,并检查原始字节:

python -m py_compile app.py
python -c "print(repr(open('app.py').read()[:120]))"

repr 会暴露编辑器里看不见的“弯引号”和不换行空格。

修复

补齐所有分隔符并使用 ASCII 引号:

# before: if (x > 0   (missing paren) and a stray “quote”
if (x > 0) and flag:
    print("ok")

确认所用语法被当前 python --version 支持。

验证

执行 python -m py_compile app.py,退出码为 0 说明解析器接受该文件;随后运行它以确认行为正确。