Я пытаюсь найти подходящий метод для сохранения словаря, который содержит данные, введенные пользователем, а также данные, полученные из моей программы (игра на линкоре). Входные данные пользователя - это имя игрока, а остальное - состояние игры (например, текущая игра, оценки, ...).
Я провел поиск и попытался использовать Pickle для сохранения этих данных. Мой словарь хранится здесь:
def game():
return {
'players': [],
'active_players':[],
'running_game': False,
Я получаю данные об игроке отсюда:
def player_register(mm,name):
board1_for_ship_placement = create_grid(columns_size,rows_size)
board2_for_showing = create_grid(columns_size,rows_size)
player = {
'name':name,
'played_games': 0,
'victory': 0,
'ships_available' : {
"lancha":0,
"submarino":0,
"fragata":0,
"cruzador":0,
"porta_avioes":0
},
'ships_in_use':[],
'board1': board1_for_ship_placement,
'board2': board2_for_showing
}
mm['players'].append(player)
Это данные, которые мне нужно сохранить и я могу снова загрузить в свою программу. Имя , сыгранные игры и victorys .
Этот метод собирает информацию из словарей.
Теперь я видел несколько примеров как это:
import pickle
my_dict = {“example”:”dog”, “example2″:”cat”}
with open(‘myfile.txt’, ‘wb’) as f:
pickle.dump(mydict, f)
Загрузка:
f = open(‘myfile.txt’, ‘rb’)
new_dict = pickle.load(f)
f.close()
Теперь, как я могу изменить это, чтобы сохранить мои данные? Я пробовал это, но безрезультатно:
import pickle
**my_dict = game()**
with open(‘myfile.txt’, ‘wb’) as f:
pickle.dump(mydict, f)
Кто-нибудь может мне помочь? Мне не нужно мариновать, JSON тоже хорошо.