当我达到100条推文时,无法退出我的信息流。我尝试了很多方法。希望保持“打开时”的用法。
*在文件打开时使用while循环会导致杂乱的不良JSON文件 *断开连接的当前使用率在达到100后仍保持流式传输,但数据已损坏
已编辑:
信用: Chris Cookman
def __init__(self, api=None):
self.num_tweets = 0
self.total_tweets = int(input("Number of tweets:"))
self.pbar = tqdm(total=self.total_tweets)
self.unsaved = 0
self.emojis = 0
def on_data(self, data):
try:
portal_1 = creds()
rawTweets = json.loads(data)
self.num_tweets += 1
self.pbar.update(1)
...
...
except BaseException as e:
print(colored("Error on_data: %s", "red") % str(e))
if self.num_tweets < self.total_tweets:
return True
else:
self.pbar.close()
return False
答案 0 :(得分:0)
要使用扭曲的声音退出流,您需要从on_status函数返回false,因此,如果您进行以下更改:
.table-view .table-row-cell {
-fx-background-color: #CAC9CC;
}
收件人:
if self.num_tweets < 100:
return True
else:
twitter_stream.disconnect()
那应该解决它。顺便说一句,对于您的进度条,每次运行时都添加self.num_tweets:
if self.num_tweets < 100:
return True
else:
self.pbar.close() # Closes the instance of the progress bar.
return False # Closes the stream.
通过更新,您每次都会添加鸣叫数量:
推文1 | Tweet Count =的1 |进度栏=的1(1)
推文2 | Tweet Count =的2 |进度栏=的1 + 2(3)
推文3 | Tweet Count =的3 |进度栏=的3 + 3(6)
从您的代码中,我假设您的意图是增加它们,因此,只需要将其更改为:
self.pbar.update(self.num_tweets)
希望这会有所帮助。