我正在尝试解析空的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)