2017-05-23 52 views
0

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

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

你是什么意思“传递多个变量到api.update_status”?你有两个或更多的变量包含你想发送的文本? –

+0

@RodrigoLeite这是正确的。我有多个包含我想要发送的文本的变量。 –

+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) 

另一种选择是使用+运营商,但是这在性能方面的原因皱起眉头。

+0

这工作,感谢您的帮助。 –