我正在用 python 编写地址簿,我正在尝试将数据(姓名、城镇和地址)保存到 json 文件中。
问题是当它保存到json文件时,它在json文件中创建了一个新对象
例子-
{"Object1": {"Town": "town", "Address": "address"}}
{"Object2": {"Town": "town", "Address": "address"}}
由于该布局,每当我尝试对其进行任何操作时都会出现此错误
错误-
ValueError: Extra data: line 2 column 1 - line 2 column 55 (char 55 - 109)
我怎样才能使我的 json 文件布局像这样
例子-
{"Object1": {"Town": "town", "Address": "address", "Object2": {"Town": "town", "Address": "address"}}
这是我的代码-
import json
class Object:
name = "Name"
address = "Address"
town = "Town"
def return_info(self):
dictionary = {self.name: {"Address": self.address, "Town": self.town}}
return dictionary
def __init__(self, entered_name, entered_town, entered_address):
self.name = entered_name
self.town = entered_town
self.address = entered_address
def update(file):
with open("data.json", "a") as outfile:
json.dump(file, outfile)
new_object = Object("name", "town", "address")
update(new_object.return_info())
请您参考如下方法:
您可以将所有地址保存在一个字典中,然后转储到一个 json 文件中。
addressmap = {
"Object1": {"town": "town", "address": "address"},
"Object2": {"town": "town", "address": "address"}
}
with open("addresses.json", "w") as f:
json.dump(addressmap, f, indent=4)
