Менеджер паролей Замена паролей (Python)
Я хочу добавить те же учетные записи веб-сайта. Но это замена паролей при попытке сохранить несколько учетных записей на одном веб-сайте. Что я делаю не так? Вот мой код:
def save():
websites = website_entry.get()
email = user_entry.get()
passwords = password_entry.get()
new_data = {
websites: {
"Email": email,
"Password": passwords,
}
}
if len(websites) == 0 or len(email) == 0 or len(passwords) == 0:
messagebox.showinfo(title="Oops!", message="Please give all the required information's")
else:
try:
with open("data.json", "r") as data_file:
data = json.load(data_file)
except FileNotFoundError:
with open("data.json", "w") as data_file:
json.dump(new_data, data_file, indent=4)
else:
data.update(new_data)
with open("data.json", "w") as data_file:
json.dump(data, data_file, indent=4)
finally:
user_entry.delete(0, END)
website_entry.delete(0, END)
password_entry.delete(0, END)
1 ответ
Проблема в том, что вы открываете в режиме записи или добавления, когда вы собираетесь добавить в него новые данные:
with open("data.json", "w") as data_file:
json.dump(data, data_file, indent=4)
Вместо этого вы должны открывать
data.json
в режиме добавления, чтобы избежать перезаписи существующего содержимого файла:
with open("data.json", "a") as data_file:
json.dump(data, data_file, indent=4)