我使用tweepy for python 2.7在python中编写机器人。我很难理解如何接近我想做的事情。目前,机器人找到推文ID并将其附加到文本文件中。在以后的运行中,我想使用正则表达式搜索该文件以进行匹配,并且只有在文本文件中没有匹配时才写入。目的不是在我的文本文件中添加重复的推文ID,这可能会跨越大量的数字,然后换行。
感谢任何帮助!
/编辑当我尝试下面的代码时,IDE说不能看到匹配,结果会出现语法错误。
import re,codecs,tweepy
qName = Queue.txt
tweets = api.search(q=searchQuery,count=tweet_count,result_type="recent")
with codecs.open(qName,'a',encoding='utf-8') as f:
for tweet in tweets:
tweetId = tweet.id_str
match = re.findall(tweedId), qName)
#if match = false then do write, else discard and move on
f.write(tweetId + '\n')
答案 0 :(得分:1)
如果我告诉你,你不需要打扰正则表达式等。让特殊容器为你工作。我会继续使用非重复容器,如dictionary
或set
,例如将文件中的所有数据读入dictionary
或set
,然后在将dictionary
或{{1}写入set
或dictionary
之后将ID扩展到此set
或>>>data = set()
>>>for i in list('asddddddddddddfgggggg'):
data.add(i)
>>>data
>>>set(['a', 's', 'd', 'g', 'f']) ## see one d and g
返回文件。
e.g。
extension UISearchBar {
var textField: UITextField? {
if let textField:UITextField = self.valueForKey("_searchField") as? UITextField {
return textField
}
return nil
}
}