Для небольших данных я предпочитаю использовать json файл, он может быстро и легко конвертировать между файлом и вашей переменной. Вы можете найти шаги в следующем коде:
from pathlib import Path
import json
# If database exist, load file to data, else create an empty data.
database = 'path for your database json file' # like 'd:/guess/database.json'
if Path(database).is_file():
with open(database, 'rt') as f:
data = json.load(f)
else:
data = {}
# if you have data for someome, like 'Michael Jackson', score, guesses.
name = 'Michael Jackson'
if name in data:
score, guesses = data[name]['score'], data[name]['guesses']
else:
data[name] = {}
score, guesses = 0, 0
# During process, score, guesses updated, and program to exit.
data[name]['score'], data[name]['guesses'] = score, guesses
# dictionary updated, then save to json file.
with open(database, 'wt') as f:
json.dump(data, f)
# That's all
Для запроса текстового файла я просто использую text = str (dictionary) для сохранения текста и dictionary = eval (text) для удобства.
from pathlib import Path
# If database exist, load file to data, else create an empty data.
database = 'path for your database txt file' # like 'd:/guess/database.txt'
if Path(database).is_file():
with open(database, 'rt') as f:
text = f.read()
data = eval(text)
else:
data = {}
# if you have data for someome, like 'Michael Jackson', score, guesses.
name = 'Michael Jackson'
if name in data:
score, guesses = data[name]['score'], data[name]['guesses']
else:
data[name] = {}
score, guesses = 0, 0
# During process, score, guesses updated, and program to exit.
data[name]['score'], data[name]['guesses'] = score, guesses
# dictionary updated, then save to json file.
with open(database, 'wt') as f:
f.write(str(data))
# That's all