Сохранить данные в файле json без перезаписи существующего файла в python

мне нужно добавить данные в файл json без перезаписи.

код, который я использую:

import json

data=[]

def arr():
    x=0
    while x<1:
        print(x)
        x-=1
        X.append(x)
        data.update(x)
        with open('x.txt','w')as outfile:
            json.dump(data,outfile)


arr()
print(X)

этот рабочий файл. Но когда я запускаю этот код во второй раз, он перезаписывает существующие значения в текстовом файле. Помогите мне решить этот код

Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
1
0
3 525
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы хотите добавлять данные в файл каждый раз, когда вы запускаете этот код, вам нужно использовать режим добавления.

Ваш код:

with open('x.txt','w')as outfile:

должно быть

with open('x.txt','a')as outfile:

Режим 'w' (или режим записи) заставит вас перезаписать файл, тогда как режим 'a' (или режим добавления) позволит вам добавлять данные в файл.

Узнайте больше об этом здесь: https://www.w3schools.com/python/python_file_write.asp

это просто добавляет JSON к JSON, так что вы получаете что-то вроде {...original...}{...appended...}, что, очевидно, создает недопустимый JSON....

oldboy 22.05.2021 09:04

То, что вы хотите, это запись в файл в режиме добавления.

Это решит вашу проблему с перезаписью. используйте метод записи.

with open("x.txt", "a") as outfile:
    outfile.write("new text")

Другие вопросы по теме