【发布时间】:2016-03-24 23:51:02
【问题描述】:
我可能在这里做错了很多事情。 python 和 JSON 非常新。 我有多个“歌曲”-JSON 对象。我需要从文件中写入和读取。 JSON 文件看起来像这样(基本上是歌曲对象的列表,不是每行一个!这里只有两个):
[{
"emotions": [],
"lyrics": "2222",
"emotionID": 0,
"artist": "22453232",
"sentimentScore": 0,
"subjects": [],
"synonymKeyWords": [],
"keyWords": []
}, {
"emotions": [],
"lyrics": "244422",
"emotionID": 0,
"artist": "2121222",
"sentimentScore": 0,
"subjects": [],
"synonymKeyWords": [],
"keyWords": []
}]
我想将歌曲对象读入一个列表,以便我可以附加另一个歌曲对象,然后将其写回。我所拥有的显然是错误的。请帮忙。
import json
from song import Song
def writeToFile():
lyrics = input( "enter lyrics: " )
artist = input("enter artist name: ")
songObj = Song(lyrics, artist)
print(vars(songObj))
data = []
with open('testWrite.json') as file:
data = json.load(file)
data.append(vars(songObj))
print(data)
with open('testWrite.json', 'w') as file:
json.dump(data, file)
ctr = "y"
while (ctr=="y"):
writeToFile()
ctr = input("continue? y/n?")
如果我可以避免在每次想要附加新歌曲对象时加载所有对象,也可以接受其他建议。
【问题讨论】:
标签: json python-3.x