我试图将多个变量传递给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')
答案 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)
另一个选择是使用+
运算符,但由于性能原因,这是不受欢迎的。