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