如何使用json.dump将多个数组转储到一个文档中?

2024-10-03 09:13:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个帐户创建软件,其中用户的3个主要详细信息、姓名、随机ID和密码都存储在一个.txt文档中。程序运行正常,但只能存储一个数组。一旦我尝试创建第二个帐户,它就会覆盖并删除第一个帐户。有没有办法使用json.dump()来编写多个数组,或者我需要使用不同的包

def accCreation():
    account = []
    fullName = input("What is your full name?: ").upper()
    print()
    uniqueID = random.randint(100000, 999999)
    print("Your unique, six digit ID, is:", uniqueID)
    print("Write this down!. You will need it later!")

    def passwordCreation():
        print()
        password = input("Please create a password: ")
        account = [fullName, uniqueID, password]
        with open('Cinema Login.txt', 'w') as login:
            json.dump(account, login)
            print("Account Created! Welcome!")
            menu()

    passwordCreation()

Tags: txtidjsoninputisdef帐户account
2条回答

您可能希望先完整读取Cinema Login文件,然后更新帐户并将其全部写回:

def passwordCreation():
    print()
    password = input("Please create a password: ")
    account = [fullName, uniqueID, password]

    accounts = []
    try:
        with open('Cinema Login.txt', 'r') as login:
            accounts = json.load(login)
    except ValueError:
        pass

    accounts.append(account)
    with open('Cinema Login.txt', 'w') as login:
        json.dump(accounts, login)
        print("Account Created! Welcome!")

您正在使用w标志打开文件,该标志将覆盖该文件。要附加到现有文件,请使用aa+标志

   with open('Cinema Login.txt', 'a') as login:
       ...

this refernce page

相关问题 更多 >