首页 > 解决方案 > 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

谁能帮我解决这个问题?

标签: python

解决方案


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

您应该重构您的代码,使其符合 3.x。我不建议降级您的 Python 版本,因为 Python 2.7 即将结束生命/支持


如果您(出于某种原因)想让您的代码同时在 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,您可能仍会遇到运行时故障,请参阅移植指南以获取更多帮助。


推荐阅读