2016-10-23 4 views
0

私のコードでこの問題があり、バージョン2.7で動作するので解決できません。Python 3.x - TypeError:文字列書式中にすべての引数が変換されない

私は方法持っている私のコードで

statuses = getFacebookPageFeedData(page_id, access_token, 100) 

しかし、私は実行するたびに:私は持っている。この第2の方法では 方法1

def getFacebookPageFeedData(page_id, access_token, num_statuses): 
parameters = "/?access_token=%s" % (access_token, num_statuses) 

方法2

def scrapeFacebookPageFeedStatus(page_id, access_token): 

をコード、このエラーが表示されます:

parameters = "/?access_token=%s" % (access_token, num_statuses) 
TypeError: not all arguments converted during string formatting 

このパラメータを通過するバージョン3.4では何が必要ですか?

+2

文字列? 1つの '%s'を持ち、2つのオブジェクトを補間しています。エラーメッセージを読んで、それが指摘しているコードを見ましたか? – TigerhawkT3

+0

うん。それは を指しています= "/?access_token =%s"%(access_token、num_statuses) –

+0

そうです。あなたはそのコードを見ましたか?それが何を意味するか知っていますか? Googleにエラーがありましたか? – TigerhawkT3

答えて

1

文字列に挿入する変数は、%sとしてください。あなたはパラメータを印刷した場合

parameters = "/?access_token=%s" % (access_token) 

は、結果は次のようになります: 私はあなただけのアクセストークンを挿入したいと思います

/access_tokenは= X(xは変数access_tokenはです)

0

この例外は、Python 2.x および Python 3.xで発生します。

あなたは、文字列内のみの単一%sを持っている場合は、あなただけの文字列を次の%後 単一の引数持つことができます:あなたはを持っている場合、一方

print('Hello %s' % 'world') 

は、基づいて

print('%s %s' % ('Hello', 'world')) 

:あなたがそうであるように、あなたの文字列を次の引数は、あなたの文字列の書式文字2つの文字列を(%sのように)必要少しグーグルでは、それはあなたがあなたのケースで必要なもののように見えるです:

文字列フォーマットについて学ぶための教材の一つは本当に素晴らしい作品が here見つけることができます
parameters = "/?access_token=%s&limit=%s" % (access_token, num_statuses) 

。もちろん、the Python docsも同様にスタートするのに最適な場所です。

関連する問題