如何实现一个能够存储输入并反复访问输入的存储系统?GPA计算器

2024-06-07 00:51:28 发布

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

我正试图为GPA计算器编写一个程序,让用户输入每个科目,包括科目名称、最终成绩和学分的子类别。我希望这个程序能够被一次又一次地访问,希望知道一种存储数据、访问数据、从存储器中提取数据以及更改和添加新数据的方法。我想知道如何做到这一点,这样我就可以存储用户,用户名和密码,以及他们的gpa数据

    class User:
        """This class represents users in this program"""

        def __init__(self, username, password):
            self.username = username
            self.password = password

    class Subject:
        """This class represents what is needed to calculate gpa with classes"""

        def __init__(self, sub_name, final_grade, credit):
            self.sub_name = sub_name
            self.final_grade = final_grade
            self.credit = credit

    users = {}

    username = str(input("Username: "))
    password = str(input("Password: "))

    users[username] = User(username)
    users[password] = User(password)

1条回答
网友
1楼 · 发布于 2024-06-07 00:51:28

最简单、最快的方法是使用Python的内置pickle模块

以下是一个例子:

import pickle

class User:
    def __init__(self, username, password):
        self.username = username
        self.password = password


user = User("Bryan", "132")

# Serializing the Python object into bytes using pickle
user_file = open("save_file_name.user", "wb")
pickle.dump(user, user_file)

# Deserializing the data into a Python object
user_file = open("save_file_name.user", "rb")
user = pickle.load(user_file)
print(user.username, user.password)  # Output: Bryan 132

这适用于任何Python对象(例如:字典、列表等)

相关问题 更多 >