【问题标题】:Posting a random image from directory to twitter将随机图像从目录发布到 Twitter
【发布时间】:2016-03-22 19:21:33
【问题描述】:

因此,我正在开发一个运行树莓派的小型迷你项目,其最终目标是让树莓派运行 python 脚本以将目录中的随机图像发布到 Twitter(Twitter 机器人)。到目前为止,我有这段代码,但我遇到了一个错误。我假设错误是由于它以某种方式没有收到正确的文件类型而引起的,但我不是 100% 确定。一点帮助会很棒!

import os
import random
from twython import Twython
#removed keys for privacy reasons
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_KEY = ''
ACCESS_SECRET = ''
twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET)
path = '/home/pi/DailyMeme/Memes/downloaded_images'
count = 0
file_list = []
for filename in os.listdir(path):
        count = count+1
        file_list.append(filename)

rnd = random.randint(0,count)
photo = open('/home/pi/DailyMeme/Memes/downloaded_images/'+file_list[rnd]+'.jpg','rb')
response = twitter.upload_media(media=photo)
twitter.update_status(status='check out this random meme', media_ids[response['media_id']])

编辑:我是 python 新手,所以如果你能向我解释解决方案会很棒

错误信息

File "random_meme.py", line 20
    twitter.update_status(status='check out this random meme' , media_ids[response['media_id']])
SyntaxError: non-keyword arg after keyword arg

【问题讨论】:

  • 如果可能,还包括完整的错误消息。
  • 想告诉我们错误信息是什么?

标签: python twitter twython


【解决方案1】:

问题是,一旦函数调用中有关键字,在这种情况下,status 函数调用中的所有以下参数都必须包含关键字。
因此,您需要以不同的参数顺序调用此函数或在第二个参数中添加关键字

twitter.update_status(status='check out this random meme' , some_keyword=media_ids[response['media_id']])

(无论您实际想要实现什么,这至少是问题的一部分)

【讨论】:

    猜你喜欢
    • 2013-01-15
    • 1970-01-01
    • 2012-02-09
    • 2013-05-04
    • 1970-01-01
    • 2023-03-06
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多