Я пытаюсь проанализировать пустой файл 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 plays2.py -t = title2 -v = value2
Traceback (последний вызов был последним): Файл "plays2.py", строка 39, в main () Файл "plays2.py", строка 17, в main sys.stdout.write (str (apikeys (args)))
Файл "plays2.py", строка 23, в apikeys apikeys2 = json.load (fp) File "/ 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) Файл" / Библиотека/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 ", lin339, в объекте декодирования, end = self.raw_decode (s, idx = _w (s, 0) .end ()) файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py ", строка 357, в raw_decode повысить JSONDecodeError (« Ожидаемое значение », s, err.value) из None json.decoder.JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0)