banco de dados – Como eu faço para adicionar informações a um arquivo json existente usando python?

Olá, tudo bem?

Estou tentando criar uma função para salvar dados em um arquivo json no python e não to conseguindo fazer isso sem que os dados anteriores sejam substituídos pelos novos (quero que os antigos permaneçam e que os novos sejam adicionados logo depois).

Também não consigo manter os dados antigos junto com os novos sem que o json se torne inválido, já que o modo “a” não adiciona vírgula após o primeiro objeto antes de adicionar o novo…

Estive tentando fazer como eu vi em alguns lugares: carregar o arquivo json, adicionar o conteúdo novo e salvar ele de novo no arquivo, mas não estou conseguindo construir a função sem que dê erro.

a minha função está assim:

def salvar_dados(nomedojson, file):
if not isfile(nomedojson):  # Verifica se o arquivo já existe, se não existir ele vai criar
    with open(nomedojson, "w", encoding="utf-8") as dados:
        salvando = json.dump(file, dados, indent=2, separators=(",", ": "), sort_keys=True)
        return salvando
else:  # condição que atesta que o arquivo já existe e só precisa ser atualizado
    with open(nomedojson, "r+", encoding="utf-8") as dados:
        carregando = json.load(dados)  # comando para carregar o arquivo existente
        atualizando = carregando.update(file)  # comando para supostamente atualizar o conteúdo
        salvando = json.dump(atualizando, dados, indent=2, separators=(",", ": "), sort_keys=True)
        return salvando

E aparece o seguinte erro:

erro que aparece com a execução do código

Já faz 3 dias que tento resolver esse problema, estou ficando sem ideias do que testar… Se alguém puder ajudar eu agradeço!