将多个变量传递给Tweepy api.update_status

时间:2017-05-23 15:17:42

标签: python tweepy

我试图将多个变量传递给Tweepy的api.update_status函数。我试图从Cursor调用两个变量,当我这样做时只会输出一个变量。

for (id, tweet_id, screen_name, created_at, text) in cursor:
url='https://www.threatminer.org/host.php'
payload={'q': text, 'api': 'True', 'rt': '6'}
headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}
r=requests.get(url, params=payload, headers=headers)
json_data=r.json()
status_message=json_data['status_message']
status = text and "Was found in a Tweet"
if "Results found." in status_message:
    api=tweepy.API(auth)
    api.update_status(text, screen_name)
    print(text, screen_name)
    print(r.url)
    print json_data
else:
    print('Nothing')

1 个答案:

答案 0 :(得分:1)

正如您的评论所述,您有多个包含要发送的文本的变量。要解决此问题,您需要将它们连接起来以形成一个单独的字符串。

如果您使用的是Python 3.6+,则可以选择使用格式化字符串,如下所示:

string1 = "My name is"
string2 = "dog!"
string3 = f"{string1} {string2}"

在这种情况下,string3将等于My name is dog!。但是,如果您不使用Python 3.6+,则需要使用format()函数来执行此操作,如下所示:

string1 = "My name is"
string2 = "dog!"
string3 = "{} {}".format(string1, string2)

另一个选择是使用+运算符,但由于性能原因,这是不受欢迎的。