私はPython(2)の関数にパラメータとして文字列を渡そうとしていますが、実行しようとすると次のようなエラーが表示されます:Python関数は文字列をパラメータとして受け付けません
Error get_all_tweets expected a string or other character buffer object
これは私のコードです:
def get_all_tweets(screen_name):
consumer_key = 'XXXXXXXXXXXXXXXXXXXXXXXX'
consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXX'
access_token = 'XXXXXXXXXXXXXXXXXXXXXXXX'
access_secret = 'XXXXXXXXXXXXXXXXXXXXXXXX'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = screen_name, count = 200)
alltweets.extend(new_tweets)
try:
with open('$screen_name.json', 'a') as f:
f.write(alltweets)
return True
except BaseException as e:
print ('Error get_all_tweets %s' % str(e))
return True
get_all_tweets(str("BarackObama"))
私は、パラメータは、それが明確である文字列、されないことについて苦情を取得する理由を私は理解できません。私はかなりPythonに新しいですが、これはパラメータとして文字列を渡す方法であることを私が渡してきたすべてのリソース。
私に監督しているものはありますか?私は他のエラーはありません。
私はPython 2.7.12を使用しています。事前
あなた自身で書いたエラーメッセージは間違いです。 try-exceptを削除すると、もっと便利なエラーメッセージが表示されます。 – user2357112
'f.write(alltweets)'は失敗していませんか?結局のところ、リストです。 'file.write()'は文字列を受け取り、それをリストに渡します。ここに投稿することを考える前に、デバッガを使用して行単位でステップ実行していたはずです。 –