Python-在循环中附加到Json文件

Python-在循环中附加到Json文件,python,json,bots,Python,Json,Bots,早上好 昨天,我开始为加密货币市场编写一个简单的公告机器人。 此时,我想读取股票代码(市场价格),并将数据实时保存到.json文件中。Python的dump函数实现了这一点。到目前为止,代码是这样的 start = time.time() while 1: end = time.time() raz = end - start if raz >= 5: for i in range(len(self.keys)): self

早上好

昨天,我开始为加密货币市场编写一个简单的公告机器人。 此时,我想读取股票代码(市场价格),并将数据实时保存到.json文件中。Python的
dump
函数实现了这一点。到目前为止,代码是这样的

start = time.time()
while 1:
    end = time.time()
    raz = end - start
    if raz >= 5:
        for i in range(len(self.keys)):
             self.dictTicker(self.values[i])
             start = end
    sleep(0.005)
self.dictTicker
是通过选定市场并将数据保存在.json文件中的功能

def dictTicker(self, market):
    ticker = api.get_ticker(market)
    self.data['year'] = datetime.now().year
    self.data['month'] = datetime.now().month
    self.data['day'] = datetime.now().day
    self.data['hour'] = datetime.now().hour
    self.data['min'] = datetime.now().minute
    self.data['sec'] = datetime.now().second
    self.data['bid'] = ticker['result']['Bid']
    self.data['ask'] = ticker['result']['Ask']
    self.data['last'] = ticker['result']['Last']

    with open("{}.json".format(market), 'a') as f:
        json.dump([self.data], f)
        f.close()
一个.json文件的示例如下所示

{"year": 2017, "month": 8, "day": 6, "hour": 6, "min": 38, "sec": 4, "bid": 0.00224, "ask": 0.00225999, "last": 0.00225999}{"year": 2017, "month": 8, "day": 6, "hour": 6, "min": 38, "sec": 9, "bid": 0.00223611, "ask": 0.00224, "last": 0.00224}
问题是这种格式是错误的。它应该是
{{}{}
。或者换句话说,是词典列表,而不是多个词典

当我尝试读取文件时,我使用以下代码:

 with open("BTC-SEC.json") as f:
     a = json.load(f)
     print(a)
我得到以下错误:

json.decoder.JSONDecodeError: Extra data: line 1 column 121 (char 120)

我在堆栈上搜索过,但找不到对我有帮助的答案。任何帮助都将不胜感激。

作为旁注,
{{},{}
不是字典列表(这是字典的字典),
[{},{}]
是字典列表。附加到列表中,然后始终将完整列表作为JSON写入文件。