2026/2/10 11:30:42
网站建设
项目流程
网站下拉菜单重叠,旅行社网站规划与建设的流程,产品展示网站模板,门户网站的功能从本地加载之前保存的两个保存数据库表信息的json文件#xff0c;将其中的数据还原回字典格式#xff0c;然后取字典键的合集#xff0c;依次循环查询键是否在两个字典中存在#xff0c;如果都存在则比较两个字典中的元组是否相同#xff0c;否则按新增或者移除数据处理将其中的数据还原回字典格式然后取字典键的合集依次循环查询键是否在两个字典中存在如果都存在则比较两个字典中的元组是否相同否则按新增或者移除数据处理最后输出数据库表的变化信息主要代码及运行效果如下所示importdmPythonimportjson tablebeforetableinfo_old.jsontablebaftertableinfo_new.jsonwithopen(tablebefore,r,encodingutf-8)asf:json_datajson.load(f)# 转换回字典tablebefore_data{key:tuple(value)forkey,valueinjson_data.get(data,{}).items()}withopen(tablebafter,r,encodingutf-8)asf:json_datajson.load(f)# 转换回字典tablebafter_data{key:tuple(value)forkey,valueinjson_data.get(data,{}).items()}changes[]all_tablesset(tablebefore_data.keys())|set(tablebafter_data.keys())fortable_nameinall_tables:iftable_nameintablebefore_dataandtable_nameintablebafter_data:table1tablebefore_data[table_name]table2tablebafter_data[table_name]iftable1[0]!table2[0]ortable1[1]!table2[1]ortable1[2]!table2[2]:changes.append({table_name:table_name,row_changed:table1[0]!table2[0],old_rows:table1[0],new_rows:table2[0],totalsize_changed:table1[1]!table2[1],old_size:table1[1],new_size:table2[1],usedsize_changed:table1[2]!table2[2],old_size:table1[2],new_size:table2[2]})eliftable_nameintablebefore_data:# 表在第一个中有第二个中没有changes.append({table_name:table_name,status:removed,rows:tablebefore_data[table_name][0],totalsize:tablebefore_data[table_name][1],usedsize:tablebefore_data[table_name][2]})else:# 表在第二个中有第一个中没有changes.append({table_name:table_name,status:added,rows:tablebafter_data[table_name][0],totalsize:tablebafter_data[table_name][1],usedsize:tablebafter_data[table_name][2]})print(changes)