python无限循环停止写入文件

时间:2018-01-26 12:19:08

标签: python infinite-loop

我从api服务器下载动态数据,并通过python中的无限循环将其写入文件。无论出于何种原因,程序在几千行后停止写入文件,而程序似乎正在运行。我不确定问题出在哪里。该程序不会出错,即。并不是API服务器拒绝响应。重新启动后,它会按计划继续。我正在使用python 3.6和win10。

代码的简化版本类似于:

document.onclick = function(e) {
   alert(e.target.id)
}

1 个答案:

答案 0 :(得分:1)

尝试先打开文件并保持锁定,如下所示:

import requests, json, time

f = open('file.txt', 'a')

while True:
    try:
        r = requests.get('https://someapiserver.com/data/')
        line = r.json()
        f.write(line)
        f.flush()
        time.sleep(5)
    except:
        print('error')
        time.sleep(10)

f.close() # remember to close the file 

解决方案很难看,但是可以。