如何在循环中执行twitter.Api.PostUpdate?
How to execute twitter.Api.PostUpdate in loop?
此代码执行错误:
# some constants and auth before, looks not important
topPosts = reddit.get_subreddit('funny').get_top(limit=3)
for post in topPosts:
twitter.PostUpdate(status = post.title, media = post.url)
控制台日志:
Traceback (most recent call last):
File "script.py", line 17, in <module>
twitter.PostUpdate(status = post.title, media = post.url)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twitter/api.py", line 990, in PostUpdate
media_additional_owners)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twitter/api.py", line 1132, in UploadMediaChunked
boundary = bytes("--{0}".format(uuid4()), 'utf-8')
TypeError: str() takes at most 1 argument (2 given)
如果我只是 post.label
在循环中,它会完美地工作。
如果我只执行一个(w/o 循环)PostUpdate
它会完美运行。
我认为这是因为 PostUpdate
是异步的,但不知道如何修复它。请帮忙。
这是 python-twitter
库中的错误,已在 PR 中修复。问题是 python2 中的 bytes
等于 str
并且只接受一个参数,而 python3 中的 bytes
需要编码作为第二个参数。
此代码执行错误:
# some constants and auth before, looks not important
topPosts = reddit.get_subreddit('funny').get_top(limit=3)
for post in topPosts:
twitter.PostUpdate(status = post.title, media = post.url)
控制台日志:
Traceback (most recent call last):
File "script.py", line 17, in <module>
twitter.PostUpdate(status = post.title, media = post.url)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twitter/api.py", line 990, in PostUpdate
media_additional_owners)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twitter/api.py", line 1132, in UploadMediaChunked
boundary = bytes("--{0}".format(uuid4()), 'utf-8')
TypeError: str() takes at most 1 argument (2 given)
如果我只是 post.label
在循环中,它会完美地工作。
如果我只执行一个(w/o 循环)PostUpdate
它会完美运行。
我认为这是因为 PostUpdate
是异步的,但不知道如何修复它。请帮忙。
这是 python-twitter
库中的错误,已在 PR 中修复。问题是 python2 中的 bytes
等于 str
并且只接受一个参数,而 python3 中的 bytes
需要编码作为第二个参数。