【发布时间】:2021-05-08 16:57:46
【问题描述】:
我把这段代码删减了,完整的有更多关于玩家的数据,这段代码的目的是添加一个玩家来输入程序请求的数据并将相同的数据记录在 JSON 文件中。
import json
class Player:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
class FootballPlayer(Player):
def __init__(self, first_name, last_name, goals):
super().__init__(first_name=first_name, last_name=last_name)
self.goals = goals
print("Enter some football player's data!")
f_name = input("Enter player's first name: ")
l_name = input("Enter player's last name: ")
goals = input("Enter the number of player's goals: ")
new_player = FootballPlayer(first_name=f_name, last_name=l_name, goals=int(goals))
with open("football_players.json", "r") as player_list:
football_players =json.loads(player_list.read())
print(str(football_players))
with open("football_players.json", "a" ) as player_list:
player_list.write(json.dump(new_player.__dict__, player_list))
问题是当我添加新播放器时,字典超出了 JSON 文件中创建的列表。
像这样:
[
{
"first_name": "Luis",
"last_name": "Figo",
"goals": 398}
]
{"first_name": "Daniel", "last_name": "Mord", "goals": 33}
【问题讨论】:
标签: python json list dictionary add