def output_dict(d): path = os.path.join("outputs", DIR) if not os.path.isdir(path): os.makedirs(path) sd = sorted(d) with open(os.path.join(path, self.account + ".txt"), "w", encoding="utf-8") as f: f.write("%s\t%s\t%s\t%s\n" % ("名称", "数量", "更新时间", "备注")) for k in sd: f.write("%s\t%s\t%s\t%s\n" % (k, d[k][0], get_time_str(d[k][1]), d[k][2]))
def output_dict(d): path = os.path.join("outputs", "juese_info") if not os.path.isdir(path): os.makedirs(path) sd = sorted(d) with open(os.path.join(path, self.account + ".txt"), "w", encoding="utf-8") as f: f.write("\t".join(["名称", "星级", "Rank", "等级", "左上", "右上", "左中", "右中", "左下", "右下", "好感", "更新时间"]) + "\n") for k in sd: v = d[k] f.write("\t".join([str(s) for s in [k, v["star"], v["rank"], v["dengji"], *v["zb"], v["haogan"], get_time_str(v["last_update"])]]) + "\n")
def ZB_KC_FIX(): # 修复装备库存 global AR kc = AR.get("zhuangbei_kucun", UDD["zhuangbei_kucun"]) bad_k = [] for k in kc: if k not in data.EQU_ID: bad_k += [k] if len(bad_k) == 0: print("装备库存无需修复。") return print("检测到有", len(bad_k), "个条目需要修复:") print("装备 库存 修复 ----------------------") print("接下来每行会输出一个名称不符的条目,并给出它的最近更新时间。") print("请输入它的正确名称,则该条目将会被替换为此名称。") print("若存在较新条目已经存在该名称,则此项会被舍弃。") print("若存在较旧条目已经存在该名称,此项将替换之。") print("输入 0 表示舍弃该项。") print("您可以在/ocrfix文件夹中找到出错的条目的截图以便于识别。") print("您可以手动把错误截图的文件名改为正确的名称,则下次再次识别出错时会自动修复。") total = len(bad_k) for ind, k in enumerate(bad_k): while True: v = kc[k] num, tim, bz = v print("[", ind + 1, "/", total, "] 上次更新:", get_time_str(tim), "数量", num, "备注", bz) new_k = input(f"{k} -> ") if new_k == "0": del kc[k] AR.set("zhuangbei_kucun", kc) break elif new_k not in data.EQU_ID: print("该名称不存在!") elif new_k in kc: if kc[new_k][1] > tim: print("存在较新记录,此项作废。") else: print("存在较旧记录,此项替换。") kc[new_k] = kc.pop(k) AR.set("zhuangbei_kucun", kc) break else: kc[new_k] = kc.pop(k) AR.set("zhuangbei_kucun", kc) break print("修复已完成!")
def JS_FIX(): # 修复角色信息 global AR kc = AR.get("juese_info", UDD["juese_info"]) bad_k = [] for k in kc: if k not in data.C_ID: bad_k += [k] if len(bad_k) == 0: print("角色名称无需修复。") return print("检测到有", len(bad_k), "个条目需要修复:") print("角色 修复 ---------------------------") print("接下来每行会输出一个名称不符的条目,并给出它的最近更新时间。") print("请输入它的正确名称,则该条目将会被替换为此名称。") print("若存在较新条目已经存在该名称,则此项会被舍弃。") print("若存在较旧条目已经存在该名称,此项将替换之。") print("输入 0 表示舍弃该项。") print("您可以在/ocrfix文件夹中找到出错的条目的截图以便于识别。") print("您可以手动把错误截图的文件名改为正确的名称,则下次再次识别出错时会自动修复。") total = len(bad_k) for ind, k in enumerate(bad_k): while True: v = kc[k] print("[", ind + 1, "/", total, "] 上次更新:", get_time_str(v['last_update'])) new_k = input(f"{k} -> ") if new_k == "0": del kc[k] AR.set("juese_info", kc) break elif new_k not in data.C_ID: print("该名称不存在!") elif new_k in kc: if kc[new_k]['last_update'] > v['last_update']: print("存在较新记录,此项作废。") else: print("存在较旧记录,此项替换。") kc[new_k] = kc.pop(k) AR.set("juese_info", kc) break else: kc[new_k] = kc.pop(k) AR.set("juese_info", kc) break print("修复已完成!")