import json, time
# 读取字典
def openDists():
with open("demo2.json", encoding="utf-8") as f:
# print(f)
data = json.load(f)
return data
print(openDists())
# 把字典写成json文件
def wjson(data):
with open("demo2.json", "w", encoding='utf-8') as f:
json.dump(data, f, indent=2, sort_keys=True, ensure_ascii=False)
# 删除
def delDicts(picName, groupId):
data = openDists()
keys = list(data.keys())
if str(groupId) in keys:
slist = data[str(groupId)]
newKey = str(time.time()).replace('.', '')
if picName + '.jpg' in slist:
slist.remove(picName + '.jpg')
if picName + '.jpg' in slist:
return 'value值已存在'
else:
data[str(newKey)] = [picName + '.jpg']
wjson(data)
return "删除成功"
elif picName + '.png' in slist:
slist.remove(picName + '.png')
if picName + '.png' in slist:
return 'value值已存在'
data[str(newKey)] = [picName + '.png']
wjson(data)
return "删除成功"
else:
return 'value值不存在'
else:
return 'key值不存在'
# 添加
def addDists(picName, newGroupId):
data = openDists()
keys = list(data.keys())
if str(newGroupId) not in keys:
values = list(data.values())
if picName + ".jpg" not in values:
for i in values:
if picName + ".jpg" in i:
return 'value已存在'
else:
value1 = list(data.values())
print("---", value1)
data[str(newGroupId)] = [picName + ".jpg"]
wjson(data)
return '添加成功'
elif picName + ".png" not in values:
for i in values:
if picName + ".png" in i:
return 'value已存在'
else:
data[str(newGroupId)] = [picName + ".png"]
wjson(data)
return '添加成功'
else:
return 'value 值已存在'
else:
return 'key值已存在'
# 合并
def innerDist(oldgroupId, newGroupId):
data = openDists()
keys = list(data.keys())
newKey = str(time.time()).replace('.', '')
if (oldgroupId in keys and newGroupId not in keys) or (oldgroupId not in keys and newGroupId in keys):
return None
elif oldgroupId in keys and newGroupId in keys:
oldList = data[oldgroupId]
newList = data[newGroupId]
# 合并列表
inList = list(set(oldList + newList))
# 删除字典之前的值
del data[oldgroupId]
del data[newGroupId]
data[newKey] = inList
wjson(data)
return '合并成功'
else:
return "key值不存在"
print(innerDist("15754389403840292", "10"))
# print(delDicts('11', 4))
# print(addDists("220", 15))