Как сделать чтобы вводимые пользователем данные заносились в словарь и не удалялись, когда запускаешь снова прогу
import random
text = input("Введите текст для зашифровки : ")
key = random.getrandbits(15)
print("Ваш ключ для получения доступа к тексту : ", key)
key_list = {key : text}
программа написана на python 3.6. при каждом новом запуске программы словарь заменяет уже существующие данные. Как сделать, чтобы он не удалял старые данные и просто записывал в словарь новые? Помогите плиззз :з
Ответы (2 шт):
Автор решения: Ivan Pavlov
→ Ссылка
Сделай работу с файлом. При каждом запуске программа будет открывать файл, читать его и записывать новые ключи и значения.
Автор решения: Roman Onofreichuk
→ Ссылка
txt - текстовый файл, создаётся в папке с Пайтоном, той же папке где python.exe
import random
text = input("Введите текст для зашифровки : ")
key = random.getrandbits(15)
print("Ваш ключ для получения доступа к тексту : ", key)
key_list = {key : text}
def saveDict():
with open("hello.txt", "a") as fileW: #открывает существующий или создает новый файл
for key, value in key_list.items():
fileW.write(f"{key}::{value}\n")
fileW.write(f"{key}::{value}\n")
fileW.close
def openDict():
try:
with open("hello.txt", "r") as fileR:
try:
list = fileR.readlines()
listN = []
for i in range(len(list)):
list[i] = list[i][:len(list[i])-1]
listN.append(list[i].split("::"))
listN[i][0] = int(listN[i][0])
except Exception as e:
print(e)
finally:
fileR.close
return dict(listN)
except Exception as ex:
print(ex)
saveDict() #Сохранение новых данных в словарь в файл hello.txt
key_list = openDict() #Чтение данных из hello.txt, возвращает данные
#в виде словаря {key : text}
print(key_list)