Недавно начал учить язык, но столкнулся с одной проблемой при рассмотрении Json! Мне необходимо было сохранять 3 поля с данными в файл я сделал это с помощью словаря и ключей выглядело это так:
dict = {}
dict['field1'] = f1
dict['field2'] = f2
dict['field3'] = f3
with open('filename', mode='w') as f:
json.dump(dict, f)
{“field1”: “f1”, “field2”: “f2”, “field3”: “f3”}
так выглядело просто запись файлов с созданием файла, или записью заново в этот же файл, но потом столкнулся с тем что мне необходимо не просто записать в файл, но дозаписывать в таком же формате, ещё данные, а потом ещё и считывать их и использовать. Дозаписывать можно было просто изменив mode='w' на mode='a' но такой вариант использовать было бы проблематично так как данные будут просто дозаписыватся в строку.
Использовать данные в таком виде записи очень проблематично, поэтому отбросил. Далее появилась идея переноса не следующую строку.
Выглядело это так
x=json.dumps(dict)
y=x+'\n'
f.write(y)
Чтение из файла было тоже осуществлено, но очень частично и просто в обратном порядке. И было возможно только чтение 1 изначально записанной строки первым куском кода, никакие циклы мне не помогли :(
data = json.load( open('filename', 'r') )
f1 = data['field1']
f2 = data['field2']
f3 = data['field3']
Теперь вопрос к вам специалисты: Как правильно, или лучше сделать сохранение и загрузку в файл. Необходимо будет активно работать с файлом: считывать, сохранять, удалять поля, редактировать и т.д.
Если как-то поможет, всё это будет производится в методе, метод будет в классе!
Помоги оптимизировать вид сохранения, и загрузки чтобы можно было проводить различные операции редактирования с ним!
P.S. Это необходимо сделать именно с помощью JSON