Сохранение и создание пользовательских данных с python и json - PullRequest
1 голос
/ 11 апреля 2020

Я использую Python Cra sh Книга курсов Эри c Matthes и у меня возникла проблема с моим кодом из страницы примеров 211. Я пытаюсь сохранить несколько имен пользователей в json do c и затем получить их, если имя пользователя сохранено, но если это новое имя пользователя, я бы хотел, чтобы оно сохранялось, а не извлекалось, чтобы было сохранено несколько имен пользователей. Я получаю JSONDecodeError: Ожидаемое значение

import json

filename = 'username.json'

try:
    with open(filename) as f_obj:
        username = json.load(f_obj)
except FileNotFoundError:
    username = input("Username: ")
    with open(filename, 'w') as f_obj:
        json.dump(username, f_obj)
        print("Username stored. Thanks " + username + "!")

else:
    print("Welcome back " + username +"!" + " You receive a returning 
    customer discount.")

Traceback:

runfile('/home/jubal/ CrashCourse Python Notes/Chapter 10 CC/returning_user.py', wdir='/home/jubal/ CrashCourse Python Notes/Chapter 10 CC')
Traceback (most recent call last):

  File "/home/jubal/ CrashCourse Python Notes/Chapter 10 CC/returning_user.py", line 7, in <module>
    username = json.load(f_obj)

  File "/home/jubal/anaconda3/lib/python3.7/json/__init__.py", line 296, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)

  File "/home/jubal/anaconda3/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)

  File "/home/jubal/anaconda3/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())

  File "/home/jubal/anaconda3/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting value

Любая помощь будет оценена. Спасибо за ваше время!

...