JSON输出不正确-Python项目

JSON输出不正确-Python项目,python,json,pycharm,Python,Json,Pycharm,我必须开发一个程序,在json文件中存储一个列表,该列表必须可读,以便修改一个元素、删除一个元素、添加一个元素等等。。。 json文件的内容从来都不对,我不明白当我添加一个元素时它是如何变化的,所以我的代码一定有问题 这是我的密码: import json class ABC: def __init__(self, filename): self.__filename = filename self.__list = [] try

我必须开发一个程序,在json文件中存储一个列表,该列表必须可读,以便修改一个元素、删除一个元素、添加一个元素等等。。。 json文件的内容从来都不对,我不明白当我添加一个元素时它是如何变化的,所以我的代码一定有问题

这是我的密码:

import json



class ABC:
    def __init__(self, filename):
        self.__filename = filename
        self.__list = []


        try:
            file=open(self.__filename,"r")
            self.__lista.append(json.load(file))
            print(self.__lista)
        except:
            file=open(self.__filename, "w")
            file.close()
            file = open(self.__filename, "r")


    def add(self, c):
        print(self.__lista)
        self.__lista.append(str(c))
        #print(self.__lista)



    def write_to_json_file(self):
        with open(self.__filename, '+a') as json_file:
            json.dump(self.__lista, json_file, indent=2)
            json_file.write(',')

提前感谢。

尝试使用附加选项
+a
打开文件。以及
\uu lista=dict()


请参阅python文档中的
json
函数和
open
函数。

那么这部分代码应该是“write\u to\u json\u function”?如果“\u lista”是一个字典,我如何才能在add函数中追加内容?在函数
write\u to\u json\u file(self)
中,使用+a打开文件,以便能够追加到文件中
dict()
type就是简单的json转换。非常感谢,请看一下更新后的代码和我添加到post中的json文件。现在输出是您所期望的吗?不,我希望能够添加新的鸡尾酒。此外,json代码的格式不正确。
class Carta:
    def __init__(self, filename):
        self.__filename = filename
        self.__lista = dict()

def add(self, c):
    self.__lista.update(c.__dict__)
    print(self.__lista)
    #print(self.__lista)



def write_to_json_file(self, c):
    with open(self.__filename, 'a') as json_file:
        json.dump(self.__lista, json_file, indent=2)
        json_file.write(',')