python版本与json.dumps冲突
问题描述:
我是python
的新手。我运行一个脚本,我在网络上得到了:python版本与json.dumps冲突
python file.py
我得到这个:
File "file.py", line 293
print json.dumps(evaluate(), indent=4)
^
SyntaxError: invalid syntax
我读它关系到Python版本,这应该是一些2.7
。所以我下载了pyenv
。我在包含file.py
:pyenv local 2.7.10
的目录中设置正确的版本。但我仍然得到同样的错误。
(有关信息,我试图安装blockchain
工具:复仇)
答
的Python 3.x的改变print语句是打印功能
的Python 2.x的:
print "Hello World"
的Python 3.x
print("Hello World")
因此,因为你在python上运行3.x您需要更新您的代码以使用3.x打印样式(例如,打印函数调用)。
print(json.dumps(evaluate(), indent=4))
+0
除了'print'之外,还有2和3之间的其他区别。转换可能是一个重大举措。 – tdelaney
您正在使用哪种操作系统? python脚本的第一行是否有类似'#!/ usr/bin/python'的文件(“shebang”)?我不使用'pyenv',所以不能多说。如何编写一个使用相同“shebang”(如果存在)的实验性脚本,然后只是执行“import sys; print(sys.version)'以便更容易地进行试验。 – tdelaney
@tdelaney是的,它是一个带'#!/ usr/bin/python'的python脚本,事实上我找到了这个:'3.5.0 | Anaconda 2.4.0'。我不知道如何摆脱这个 - 你有什么想法吗? – Newben
奇怪的环境问题很难弄清楚! '/ usr/bin/python'通常是python 2,这就是你想要的旧式print语句('print something'而不是'print(something)')。 Python 3通常显示为'/ usr/bin/python3'。 “哪个python”说什么?我对'anacoda'也不熟悉,它可能在路上有别的东西。 – tdelaney