问题描述
我正在使用Tweepy创建一个Twitter机器人,该机器人仅定期发送推文。我正在使用random.choice
函数让它随机执行tweets。自创建以来,它一直运行良好,但现在我试图通过在推文中添加图片来对其进行修改。没有图片,我只需要一个简单的列表即可放入我的推文,但是我想如果要添加图片,则需要词典。
这是一些我一直试图做到的示例代码:
import random
import tweepy
dict = {"key1" : "KeyValue1.jpg","Key2" : "KeyValue2.jpg","Key3" : "KeyValue3.jpg"}
for d in dict:
tweet = api.update_with_media(d,dict[d])
print(tweet)
基本上就是它的外观。从技术上讲,该代码有效,但仅执行第一个键和键值。
update_with_media
函数需要2个参数,第一个参数需要是jpg文件,第二个参数应该是tweet本身。
解决方法
import random
import tweepy
d = {"key1" : "KeyValue1.jpg","Key2" : "KeyValue2.jpg","KeyValue3": "Key3.jpg"}
tweet = api.update_with_media(random.choice(list(d.keys())),random.choice(list(d.values())))
print(tweet)
,
从字典中获取随机项:
import random
a = {'key1': 'sample','key2': 'sample2'}
b = random.choice([value for key,value in a.items()])
print(b)
尽管此时最好只使用一个列表
,对于随机项目或密钥,值对遵循这种方法
import random
import tweepy
d = {"key1" : "KeyValue1.jpg","KeyValue3": "Key3.jpg"}
res = key,val = random.choice(list(d.items()))
tweet = api.update_with_media(str(res))
print(tweet)