我在使用 Python(继承代码)时遇到错误。在一个平台上有效的 Sum() 函数调用在另一个平台上无效——我认为这是由于某些跨平台不兼容的语法。我得到的错误是:
bsrlx1(112)% /usr/bin/python run-print.py init data
File "run-print.py", line 105
val = sum(1 if x >= 0.5 else 0 for x in metricC[key]);
^
SyntaxError: invalid syntax
尽管这种语法在其他地方也适用。任何人都知道语法更改或问题可能是什么??
我调用的 Python 版本是: Python 2.4.3(#1,2011 年 4 月 14 日,20:41:59) Linux2 上的 [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
我程序中的头文件是:
#!/usr/bin/python2.5
所以我想我可能正在使用 2.5 版
请您参考如下方法:
您正在使用 conditional expression ,这是在 Python 2.5 中添加的。
您没有运行 /usr/bin/python2.5,您正在使用 /usr/bin/python(即 2.4)。要使用文件中指定的解释器运行它,请使其可执行,然后直接运行它:
chmod +x run-print.py
./run-print.py
除非你的发行版有一个特殊的向后移植包,否则你不太可能安装 Python 2.5。
