簡體   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