Python3 JSON加载问题

时间:2018-11-13 15:38:37

标签: json python-3.x jsondecoder

我正在尝试解析空的json文件,并尝试将新数据附加到数组中。

这就是我想要的: [{'key1':'value1'},{'key2':'value2'}]

这是我的代码:

import json
import argparse
import sys


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-t', '--title', type=str,
                        help='title of the your key')
    parser.add_argument('-v', '--value', type=str,
                        help='value of the your key')
    args = parser.parse_args()
    sys.stdout.write(str(tango(args)))


def tango(args):

    with open('tango.json', 'r') as fp:
        tango2 = json.load(fp)

    title = args.title
    value = args.value

    tango = {
        "name" : title,
        "value" : value
    }

    tango2.append([tango])
    with open('tango.json', 'a') as jsonfeed:
        json.dump(tango2, jsonfeed)


if __name__ == '__main__':
    main()

错误:

python3游乐场2.py -t = title2 -v = value2

回溯(最近通话最近):   在第39行的文件“ playground2.py”中     主要()   主文件中的第17行文件“ playground2.py”      sys.stdout.write(str(apikeys(args)))

apikeys中的文件“ playground2.py”,第23行      apikeys2 = json.load(fp)   载入中的文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/init.py”,第299行     parse_constant = parse_constant,object_pairs_hook = object_pairs_hook,** kw)   载入中的文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/init.py”,第354行     返回_default_decoder.decode(s)   文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py”,行339,在解码中     obj,end = self.raw_decode(s,idx = _w(s,0).end())   raw_decode中的文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py”,第357行     从None提高JSONDecodeError(“期望值”,s,err.value) json.decoder.JSONDecodeError:期望值:第1行第1列(字符0)

0 个答案:

没有答案