有人可以幫助我添加信息到字典中的一個鍵並相應地更新信息?添加禁止原因模塊錯誤字典對象沒有屬性追加和加載和保存方法無法保存和正確加載
也可以有人給我一個更好的方法來保存和加載比我目前正在做的?
我的字典鍵當前方法:
def add_banreason(roomname, username, reason):
roomname = roomname.lower()
username = username.lower()
if not roomname in banr.banr_database:
banr.banr_database[roomname] = {username:reason}
else:
banr.banr_database[roomname].append({username:reason})
我來到這裏的錯誤說dict object has no attribute append
我正在看着一個採用這樣沒有錯誤:
{roomname: {username:reason, username:reason, username:reason}, roomname: {username:reason, username:reason, username:reason}}
我目前的保存和加載方法:
### load the database
def load():
banr_database = {}
with open("banr.DB","r") as t:
data = t.read()
if data != "":
for l in data.split("\n"):
a,b = l.split("):(",1)
c = [w.split(")-(") for w in b.split("(:)")]
banr_database[a] = c
banr.banr_database = banr_database
### save the database
def save():
l = []
for a,b in banr.banr_database.items():
c = "(:)".join([")-(".join(w) for w in b])
l.append(a+"):("+c)
with open("banr.DB","w") as t:
t.write("\n".join(sorted(l)))
什麼,我想是以下保存和格式加載此信息在給定的例子:
{roomname: {username:reason, username:reason, username:reason}, roomname: {username:reason, username:reason, username:reason}}
然而
,而不是我得到這個:
anime-gir):(k)-(a)-(m)-(i)-(j)-(o)-(u)-(t)-(o)-(u)-(m)-(a)-(3)-(1)-(0
的原因是不那裏和用戶名已被拆分它也不是字典格式
有人可以告訴我我做錯了什麼,什麼代碼將適合在這裏做我想要什麼,而不是我目前有什麼?
問題編輯我希望我這樣做是正確的,它看起來像我一樣,我接受了答案仍然適合我的問題,我已經做了我的問題更清楚那是以前 – Belldandu