Как добавить значение в файл json через python?
Мне кажется я в json что-то не так понял? Но у меня не получается добавить нового пользователя через питон. Каким кодом можно добавить этого нового пользователя если его нету в json?
- Вопрос задан 08 мая 2023
- 166 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 3
Новичок в разработке
Вот, но это АЗЫ для твой проги
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] = # Здесь можно добавить поля 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()
Ответ написан 08 мая 2023
Комментировать
Нравится 1 Комментировать

Алан Гибизов @phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
- Загружаете JSON, получаете dict (словарь)
- Вносите в словарь необходимые изменения, в вашем случае my_dict.update(>)
- Сохраняете словарь в виде JSON.
Загружаете через json.load или json.loads , обратно преобразуете json.dump или json.dumps
Ответ написан 08 мая 2023
Нравится 1 1 комментарий

Алан Гибизов @phaggi Куратор тега Python
В случае сложной структуры JSON возможно, получится не просто словарь, а список словарей, словарь словарей и в таком духе. Но принцип остается тем же.
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)] = with open(self.f_name, 'w') as f: json.dump(self.user_list, f) else: print(f'Пользователь с именем уже существует') users = User('users.json') users.add_users('Derill', 23) users.add_users('David', 21)
Ответ написан 08 мая 2023
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +1 ещё
Как отфильтровать текст Python?
- 1 подписчик
- 12 минут назад
- 21 просмотр
Запись данных в формате JSON в файл в Python
Часто в процессе работы с данными в Python возникает необходимость сохранить словарь в файл в формате JSON. Это может быть полезно для дальнейшей работы с данными, их обмена или отправки на сервер.
Однако, попытка записать данные напрямую вызовет ошибку, поскольку словарь Python не является строкой или буфером, которые требуются для записи в файл.
data = f = open('data.json', 'wb') f.write(data)
В этом примере кода мы получим ошибку: TypeError: must be string or buffer, not dict .
Чтобы записать данные из словаря в файл в формате JSON, нам потребуется модуль json, входящий в стандартную библиотеку Python. С его помощью можно легко преобразовывать данные между форматами JSON и словаря Python.
Используем функцию dump() из модуля json, которая принимает два аргумента: данные и файл, куда нужно записать эти данные.
import json data = with open('data.json', 'w') as file: json.dump(data, file)
В этом случае словарь data будет преобразован в строку JSON и записан в файл data.json .
Итак, для записи данных в формате JSON в файл в Python необходимо использовать модуль json и его функцию dump() . Это позволит сохранять данные словаря для дальнейшего использования, обмена или отправки на сервер.
добавление записи в json с помощью python
Понимаю, что вопрос простой, но не пойму как дописать в json. Есть json:
import json name = input("Имя: ") phone = input("Телефон: ") def create_json(): json_data = < "name": name, "phone": phone, >with open('db.json', 'w') as file: file.write(json.dumps(json_data, indent=2, ensure_ascii=False)) # create_json() def add_to_json(): json_data = < "name": name, "phone": phone, >data = json.load(open("db.json")) data.append(json_data) with open("db.json", "w") as file: json.dump(data, file, indent=2, ensure_ascii=False) add_to_json()
Вылезает ошибка:
AttributeError: 'dict' object has no attribute 'append'
Нужно добавить запись, что бы json имел такой вид:
Отслеживать
задан 1 мар 2021 в 6:23
53 1 1 золотой знак 4 4 серебряных знака 9 9 бронзовых знаков
что бы json имел такой вид: — это некорректный json. Чтобы записать несколько словарей в json, их нужно положить в список.
1 мар 2021 в 6:34
спасибо, теперь все получилось
Как преобразовать данные в формате JSON в Python
Узнайте, как преобразовать данные в формате JSON в Python, используя встроенный модуль json и практические примеры.

Алексей Кодов
Автор статьи
30 июня 2023 в 12:49
JSON (JavaScript Object Notation) — это легковесный формат обмена данными, основанный на синтаксисе JavaScript. Он используется для хранения и передачи данных в виде текста. В Python, для работы с JSON данными, мы можем использовать встроенный модуль json .
Импортирование модуля json
Для начала работы с JSON данными в Python, импортируйте модуль json :
import json
Преобразование JSON в объект Python
Чтобы преобразовать JSON строку в объект Python, используйте метод json.loads() :
json_string = '' python_obj = json.loads(json_string) print(python_obj)
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Преобразование объекта Python в JSON
Чтобы преобразовать объект Python в JSON строку, используйте метод json.dumps() :
python_obj = json_string = json.dumps(python_obj) print(json_string)
Чтение и запись JSON файлов
Для чтения JSON данных из файла, используйте метод json.load() :
with open('file.json', 'r') as file: data = json.load(file) print(data)
Для записи JSON данных в файл, используйте метод json.dump() :
python_obj = with open('file.json', 'w') as file: json.dump(python_obj, file)
Теперь вы знаете, как преобразовать данные в формате JSON в Python с помощью встроенного модуля json .
Не забудьте практиковаться и экспериментировать с различными типами данных и структурами, чтобы лучше понять работу с JSON в Python.