Tweetstream每10分钟统计推文并写入文件



我有一个小脚本,它正在使用tweetstream的推文数量并将其写入文件,但我看到有50/s的限制,也许是因为文件IO,我想尝试将值存储在一个变量中,然后,每10分钟用变量的值写入文件,我怎么能做到这一点?

#!/usr/bin/python
import tweetstream
import sys
print sys.argv
twitterUsername = "username"
twitterPassword = "password"
twitterWordFilter = sys.argv[1]
try:
    with tweetstream.FilterStream(twitterUsername, twitterPassword,track=twitterWordFilter) as stream:
        for tweet in stream:
            file = open('/monitor/'+str(sys.argv[2])+'.txt','w+')
            file.write(str(stream.count))
            file.close
            #print tweet #Use for raw output
except tweetstream.ConnectionError, e:
    print "Disconnected from twitter. Reason:", e.reason

@tdelaney的评论是正确的。

先计时!在到达磁盘之前,文件写入已经被python(好吧,实际上是clib)和操作系统缓存。更可能是推特流太慢了。您可以在写入之前和之后获得时间并打印diff。顺便说一句,您还需要在close file.close()上设置牛仔腿。因为你只是一次又一次地打开同一个文件,所以只在for循环之外打开它一次。

最新更新