{
"1": {
"name": "Anna",
"lakes": 12
},
"2": {
"name": "Derill",
"lakes": 23
}
}
from json import load, dump
class Users:
"""Общий класс для работы с пользователями в формате JSON"""
def __init__(self, filename='users.json'):
self.filename = filename
self.load()
def load(self):
"""Загрузить файл с пользователями"""
try:
with open(self.filename) as fp:
self.users = load(fp)
except FileNotFoundError:
self.users = {}
def save(self):
"""Сохраняет файл с пользователями"""
with open(self.filename, 'w') as fp:
dump(self.users, fp)
def add_user(self, name, lakes):
"""Добавляет пользователя"""
user_id = str(len(self.users) + 1)
self.users[user_id] = {'name': name, 'lakes': lakes} # Здесь можно добавить поля
self.save()
def remove_user(self, user_id):
"""Удаляет пользователя"""
if user_id in self.users:
del self.users[user_id]
self.save()
def get_users(self):
"""Получить пользователей"""
return self.users
def get_user(self, user_id):
"""Получить пользователя под номером..."""
return self.users.get(user_id, None)
# Иниц-я
users = Users()
print(users.users)
# добавлять пользователя
users.add_user("Poll", 124)
# Сохранить файл
users.save()
import json
class User:
def __init__(self, f_name: str) -> None:
self.f_name = f_name
with open(self.f_name) as f:
self.user_list = json.load(f)
self.users = [i['name'] for i in self.user_list.values()]
self.last_id = int(list(self.user_list.keys())[-1])
def add_users(self, name: str, lakes: int) -> None:
if name not in self.users:
self.users.append(name)
self.last_id += 1
self.user_list[str(self.last_id)] = {'name': name, 'lakes': lakes}
with open(self.f_name, 'w') as f:
json.dump(self.user_list, f)
else:
print(f'Пользователь с именем {name} уже существует')
users = User('users.json')
users.add_users('Derill', 23)
users.add_users('David', 21)