python代码的哪一部分造成语法错误?

时间:2019-11-21 08:53:06

标签: python

text=sc.textFile("long")
RDD20172630=text.flatMap(lambda line : line.split()).map(lambda word : (word,1)).reduceByKey(lambda c1, c2 : c1 + c2)
print RDD20172630.sortByKey(ascending=True).collect()
print RDD20172630.map(lambda (w,c): (c,w)).sortByKey(ascending=False).collect()

此代码的结果显示为错误,如下所示:

File "<ipython-input-1-14309b0de61d>", line 3
    print RDD20172630.sortByKey(ascending=True).collect()
                    ^
SyntaxError: invalid syntax

有人可以帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您正在以Python 2.x样式进行编码,但解释器为3.x。

您应该重构代码,使其与3.x兼容。我不建议降级您的Python版本as Python 2.7 is reaching end of life/support soon


如果(出于某种原因)您希望代码同时在Python 2.x和3.x上运行,请考虑在文件开头添加以下行:

from __future__ import print_function

然后将您的print语句全部更改为print个调用:

print(RDD20172630.sortByKey(ascending=True).collect())
print(RDD20172630.map(lambda (w,c): (c,w)).sortByKey(ascending=False).collect())

请注意,以上解决方案专门针对您的SyntaxError,您可能仍会遇到运行时失败,请参考porting guide以获取更多帮助。