症状
解释器在启动前即拒绝执行,抛出 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 说明解析器接受该文件;随后运行它以确认行为正确。