@tyfh50

Использование append для текстовика?

У меня есть функции для сохранения и чтения "базы данных" (текстовик)

def save_bd(users, filename):
lines = []
for user in users:
lines.append(f'"id" : {user.id}, "mode" : "{user.mode}", "admin" : {user.admin}, "ban" : {user.ban}')
lines = '\n'.join(lines)
with open(f'{tdir(__file__)}/{filename}.txt'.replace('\\', '/').replace('vova.py/', ''), "w", encoding = 'utf-8') as file:
file.write(lines)
file.close()

def read_bd(filename):
users = []
with open(f'{tdir(__file__)}/{filename}.txt'.replace('\\', '/').replace('vova.py/', ''), "r", encoding = 'utf-8') as file:
lines = [x.replace('\n', '') for x in file.readlines()]
file.close()
for line in lines:
line = eval('{' + line + '}')
if line != '{}':
users.append(User(id = line['id'], mode = line["mode"], admin = line['admin'], ban = line['ban']))
return users
Это для бота ВК. Чтобы выдать ту же админку в беседе, то надо поменять другому человеку параметр "admin" на 1. Я использую append для этого, но когда я сохраняю (save_bd()),то в текстовике создаётся отдельная строка. Надо, чтобы изменялась первая, а не создавалась новая. Как это можно решить?
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы