Кажется, я не могу сохранить файлы json в python? - PullRequest
0 голосов
/ 30 мая 2020

Мой Json Код для этой системы входа c basi не будет работать, и я немного запутался, пожалуйста, помогите. был бы очень признателен, если бы вы могли.

- Большое спасибо ^ __ ^

'' '

import json


sign_or_log = input('If you have an account on this repl please press 1 if you do not please press 2: ')

if sign_or_log == '2':
    username = input('Please enter your new Username: ')
    password = input('Please enter your new Password: ')
    write = [
      {
          "name": username,
          "password": password
      }
  ]
    file = open("data.json", "w+")
    file.write(json.dumps(write))
    file.close()
    print('Thank you for subminting your new account.')
    sign_or_log = input('If you have an account on this repl please press 1 if you do not please press 2: ')

    if sign_or_log == '1':
        login1 = input('Please enter your existing username: ')
        login2 = input('Please enter your existing password: ')
    try:
        file = open("data.json", "r")
        data = json.loads(file)
        file.close()
    except:
        print('Access Denied')
print(data)

' ''

1 Ответ

0 голосов
/ 30 мая 2020

Используйте json.dumps для добавления к файлу json следующим образом:

import json


def log_in():
    while True:
        login1 = input('Please enter your existing username: ')
        login2 = input('Please enter your existing password: ')

        if login1 != "" and login2 != "":
            break

    with open("data.json") as f: 
        data = json.load(f) # <-- Fixed the bug, again

    if data[login1] == login2:
        # User sucessfully logged in
    else:
        print('Access Denied')

def sign_up():
    username = input('Please enter your new Username: ')
    password = input('Please enter your new Password: ')
    user = {
        "name": username,
        "password": password
    }

    with open('data.json') as f:
        data = json.load(f)

    data.update(user)

    with open('data.json', 'w') as f:
        json.dump(data, f)

    print('Thank you for submitting your new account.')
    log_in()

message = 'If you have an account on this repl'
message += 'please press 1 if you do not please press 2:'

while True:
    sign_or_log = input(message)
    if sign_or_log == "1":
        log_in()
        break
    if sign_or_log == "2":
        sign_up()
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...