代码:
with open('test.txt', 'a+') as viewers:
while data['result']['list'] != '':
for users in data['result']['list']:
if users['nickName'] in viewers:
break
else:
viewers.write(users['nickName'] + 'n')
我想要写入文件的json如下所示。这个json来自一个新用户一直加入的实时流媒体。我想将所有用户写入一个文件,所以类似于"当"list"的值不为空时,继续从json中追加新用户"。当"列表":不再包含值时(因为直播已经结束,没有观众(,停止。
{
"code": 1,
"result": {
"liveType": 0,
"watchNum": 1161,
"rank": 0,
"duringF": 0,
"list": [
{
"price": 86,
"userId": 303249,
"img": "https://mp5.facecast.xyz/storage1/M00/13/CF/aPODCl2RJBKARTtTAAAD9Xj8lkw004.png",
"nickName": "ChillMick"
},
{
"price": 53,
"userId": 259943,
"img": "https://mp5.facecast.xyz/storage1/M09/11/90/aPODCl1Pa22AK4WgAAADcFKVlIk698.png",
"nickName": "ud83dudd37ud83dudd39u24c2ufe0f"
},
],
"earning": 14850,
"likeNum": 5154
},
"msg": "OK"
如何只能追加新条目?
使用一个集合。
创建一个可以按照你想要的方式进行哈希的对象…
例如
@dataclass
class User:
price: int
userId: int
img: str
nickName: str
def __hash__(self):
return hash(self.userId) # assuming userId is the PK or hashable...
将__eq__(self)
定义为
则使用CCD_ 2来存储所有用户。。。假设这是记忆中的事情。如果不是,则使用一个具有充当PK.的字段的普通数据存储