我目前正在尝试建立一个简单的银行系统。 就我而言,系统的基本功能已经完成,但存在一个问题。我正在尝试为我的"银行帐户制作文件保存系统"。当创建一个新帐户(也就是新的类)时,它应该保存在文本文件中,以便下次打开程序时,该银行帐户(类)应该已经加载并可用。这是用于切断帐户。
我遇到的问题是没有将类保存到文本文件中,而是将其加载到我的列表中,在那里我保留了所有的类。所以我需要能够在每次程序启动时从我的文本文件加载到列表中的所有类。尝试使用泡菜,但由于我缺乏知识,它只是使我的程序崩溃。谁可以帮忙?
创建类并尝试将其保存到列表时的外观 (Python)的
def nyttkonto():
global konton, aktiv
persnr = simpledialog.askinteger("Personnummer","Ange personnummer (8 siffor)")
fnamn = simpledialog.askstring("Förnamn", "Ange förnamn").lower().capitalize()
enamn = simpledialog.askstring("Efternamn", "Ange efternamn").lower().capitalize()
money = simpledialog.askinteger("Startkapital","Ange startkapitalet på det nya konto")
konton.append(KontoAnvandare(persnr, fnamn, enamn, money))
#This is where the problem starts
with open("kontolista.txt","r") as k:
folder = k.read()
konton.append(folder)
#This is where the problem ends, sort of
aktiv = len(konton)-1
visaKonto()
列表" konton"被设置为konton = []作为代码的一部分,所以我需要能够在重启时填充它。
答案 0 :(得分:0)
您的bank_accounts.append(load)
并未缩进为with
的一部分。
答案 1 :(得分:0)
用泡菜做吧!
import pickle
# create bank_accounts.txt
pickle.dump([], "bank_accounts.txt") # do this once than remove from your code
# load bank accounts
bank_accounts = pickle.load("bank_accounts.txt")
# add new accounts
bank_accounts.append(new_account)
bank_accounts.append(other_account)
# save bank accounts
pickle.dump(bank_accounts, "bank_accounts.txt")