Как в определенные строки в .txt файле записывать информацию, а затем читать ее и перезаписывать?
Я хочу сделать систему сохранения для игры, нужно записывать определенные переменные и списки в один .txt файл, а после запуска читать информацию с определенных строк файла. Как это сделать? Пример информации которая должна быть внутри файла:
1
7034
64
"test", "..."
764
Нужно каждый этот параметр записать в отдельную пременную.
Ответы (1 шт):
Автор решения: Inventor
→ Ссылка
Странный выбор сохранять данные в файле, для этого принято использовать базы данных, но да ладно. Записать/извлечь информацию в файле можно таким образом:
import json
path_to_file = '...'
def write_data(data):
""" Функция для записи информации в файл.
Если в файле уже есть какая-то информация, то она перезаписывается
Принимает 1 аргумент - словарь с информацией, которую нужно записать"""
# открывем наш файл, второй аргумент указывает,
# что файл открывается для записи в него чего либо
f = open(path_to_file, 'w')
# записываем в него что-то. Данные преобразуем в json
f.write(json.dumps(data))
# закрываем файл
f.close()
def read_data():
""" функция для извлечения информации из файла. Возвращает словарь с информацией """
# открывем наш файл, второй аргумент указывает,
# что файл открывается для чтения информации из него
f = open(path_to_file, 'r')
# Читаем информацию из файла и преобразуем её из json в словарь
data = json.loads(f.read())
# закрываем файл
f.close()
# возвращаем данные
return data