Как записать в файл json текст?
Есть код на питоне, но он работает не так как я хочу. Мне нужно чтобы он записывал в файл слова (По типу Hello). Прога тоже их записывает, но удаляя 1 блок(intents), а мне нужно без удаления. Короче говоря, записать без потерь. Код:
import json
with open("my.json") as file:
F = json.load(file)
mb = input("")
for p in F["intents"]:
p["responses"].append(mb)
with open("my.json", "w") as file:
json.dump(p, file)
И вот my.json файл:
{"intents": [
{"tag": "evil",
"responses": ["Hello"]}]
}
Ответы (2 шт):
Автор решения: insolor
→ Ссылка
Порядок действий:
- Прочитать файл, разобрать json
- Обратиться к нужному списку внутри прочитанного объекта, добавить значение с помощью
append - Записать измененные данные в файл (весь объект данных, не только измененный список)
import json
with open("my.json") as file:
data = json.load(file)
mb = input()
data["intents"][0]["responses"].append(mb) # Добавляем слово в список responses
with open("my.json", "w") as file:
json.dump(data, file, indent=2)
Пример результата (ввели слово test):
{
"intents": [
{
"tag": "evil",
"responses": [
"Hello",
"test"
]
}
]
}