因此,當運行.py輸出文件大小在1和5kb之間振盪時,我正在使用twython編寫一個簡單的python流監聽器(編輯: python Twitter客戶端庫)。我想知道該怎麼做,以確保文件不斷寫入。以下是代碼。將json流寫入文件限制輸出大小
class MyStreamer(TwythonStreamer):
def on_success(self, data):
with open(filename,'w')as outfile:
json.dump(data,outfile,indent=4)
outfile.flush()
outfile.close()
def on_error(self, status_code, data):
print(status_code)
stream = MyStreamer(APP_KEY, APP_SECRET,
OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
stream.statuses.filter(track=input_string)
爲什麼每次寫入的數據都有相同的大小開始?你怎麼知道你每次都在閱讀**相同的數據?您是否曾嘗試在'on_success'函數中添加'print(data)'或其他調試語句來檢查這個假設? –
你問如何追加到文件而不是覆蓋它?打開文件時使用模式'a'而不是'w'。但是,文件中的一串JSON字符串不是有效的JSON文件,所以這可能不是一個好主意。 – Barmar
@Dan,在數據流時,輸出文件大小在幾秒鐘內發生變化(例如,1,2,3,1,2,1 kb等)。大小不嚴格增加。 – Diabellical