Python格式化输出触发SyntaxError:print语句语法错误求助
问题原因与解决方法
嘿,这个语法问题我太熟了!根源就是Python版本的语法差异:
- 在Python 2里,
print是一个语句,所以直接写print "字符串"完全没问题; - 但到了Python 3,
print被改成了内置函数,必须用括号把要输出的内容括起来,不然就会触发SyntaxError。
你的代码print "Detections before NMS = {}".format(detections)是标准的Python 2写法,如果现在用Python 3环境跑,肯定会报错。
两种解决办法任你选
方法1:改代码适配Python 3(推荐)
把print语句改成函数调用形式,加个括号就行,这也是现在主流的写法:
print("Detections before NMS = {}".format(detections))
毕竟Python 2早就停止维护了,转Python 3是长期来看最稳妥的选择。
方法2:切换到Python 2环境运行
如果你因为项目依赖等特殊原因必须用Python 2语法,那确保你的代码是用Python 2解释器执行的就行。不过还是要提醒一句:Python 2已经没有安全更新了,存在潜在风险,不建议长期使用。
要是你不确定自己当前用的是哪个Python版本,在终端/命令行里敲这个命令就能看:
python --version # 有些环境里Python 3需要用这个 python3 --version
内容的提问来源于stack exchange,提问作者Ghizlane
相关产品推荐
相关产品推荐

