繁体   English   中英

无效的Python语法错误

[英]Invalid Python Syntax Error

在shell中,当我尝试导入程序时,我得到以下响应。

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "tweet.py", line 26
        print "Favorited: %s" % (result['text'])
                            ^
SyntaxError: invalid syntax

为什么print "Favorited: %s" % (result['text'])返回错误? 谷歌搜索一直没有帮助,这对我来说更早......

更新,我正在运行以下版本的Python:

Python 2.7.5 |Anaconda 1.6.1 (x86_64)| (default, Jun 28 2013, 22:20:13) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin

再次更新,这是功能:

def fetch_tweet(tweet):
    try:
        result = t.favorites.create(_id=tweet['id'])
        print "Favorited: %s" % (result['text'])
        return result
    # when you have already favourited a tweet, this error is thrown
    except TwitterHTTPError as e:
        print "Error: ", e
        return None

更新#3 - 发现错误!

事实证明我的python解释器真的很讨厌我在顶部的一些代码,它以某种方式搞乱了print - 我from __future__ import print_function文件顶部的from __future__ import print_function删除了一切,一切都开始顺利进行。

我看到你搞定了,但是这里的解释是:

Python 3因各种原因改变了打印的工作方式。 最大的变化是print现在是一个函数而不是一个语句(这很有用,因为如果你想改变它打印到的地方,是否用换行符终止等等,它允许你传递参数给它。 )

所以,当你有这条线:

from __future__ import print_function

它使用的是Python 3打印,但您在Python 2中运行。一个解决方案(如您所见)是删除导入,但您也可以将print语句更改为函数。 对于像这样的简单语句,你只需要添加parens,这样就可以了:

print("Favorited: %s" % (result['text']))

这些也有效:

print("Favorited: {}".format(result['text']))

print("Favorited:", result['text'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM