Как в определенные строки в .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
→ Ссылка