记录一段python代码 (修改数据库字符串)
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,场景:由于开发恶心的账号登录设置,鉴于日本玩家用户习惯,刚开始以游客的身份登录游戏,若发生换包或者换设备,都需要从数据库重新更换账号ID,刚开始纯手工,其后py实现,封装为exe直接在dos里面执行,
千家信息网最后更新 2026年10月31日记录一段python代码 (修改数据库字符串)
场景:由于开发恶心的账号登录设置,鉴于日本玩家用户习惯,刚开始以游客的身份登录游戏,若发生换包或者换设备,都需要从数据库重新更换账号ID,刚开始纯手工,其后py实现,封装为exe直接在dos里面执行,最好的方式改进当然是在web见面一键完成,现将代码跑路,作为记录。
# coding=utf-8import pymysqlimport tracebackimport simplejsonimport sys# 交换def exchange(connect_index, file_name): try: # 读取数据库配置 fp = open("config.json") connect_info = simplejson.load(fp)["db_list"] fp.close() # 创建链接 conn = pymysql.connect(host=str(connect_info[connect_index]["ip"]), port=int(connect_info[connect_index]["port"]), user=str(connect_info[connect_index]["user"]), passwd=str(connect_info[connect_index]["passwd"]), db=str(connect_info[connect_index]["db_name"]), charset='utf8') # 获取光标 cur = conn.cursor() # 读取交换列表 fp = open(str(file_name)) exchange_data = simplejson.load(fp) fp.close() # 开始交换 for item in exchange_data: # 读取两个值的account_id player_datas = [] for i in range(2): temp_data = {} cur.execute("select `id`, `account_id` from `character` where `" + str(item["key"][i]) + "` = '" + str(item["value"][i]) + "'") result = cur.fetchall() temp_data["id"] = result[0][0] temp_data["account_id"] = result[0][1] player_datas.append(temp_data) # 更改account_id以免发生冲突 for player_data in player_datas: cur.execute("update `character` set `account_id` = '" + str( player_data["account_id"]) + "_' where `id` = '" + str(player_data["id"]) + "'") conn.commit() # 交换 temp_data = player_datas[0]["account_id"] player_datas[0]["account_id"] = player_datas[1]["account_id"] player_datas[1]["account_id"] = temp_data for player_data in player_datas: cur.execute("update `character` set `account_id` = '" + str( player_data["account_id"]) + "' where `id` = '" + str(player_data["id"]) + "'") conn.commit() conn.close() except Exception: traceback.print_exc()if __name__ == '__main__': try: if len(sys.argv) < 3: print "arg error" sys.exit(1) exchange(int(sys.argv[1]), sys.argv[2]) except Exception: traceback.print_exc()部分json文件 还未整理,若有疑问请问博主,反正他也不会告诉你。
数据
数据库
账号
登录
代码
恶心
两个
光标
场景
手工
文件
方式
是在
最好
游客
玩家
用户
疑问
设备
身份
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
中关村互联网科技集团
科技互联网项目
金融科技创新监管互联网金融
西安互联网科技
互联网科技媒体
狮子座互联网科技有限公司
唐信互联网科技 大连
上海卓越科技 互联网
左右互联网络科技
恒银科技与互联网金融
重庆威客帮互联网科技
深圳育鹏互联网科技有限公司招聘
互联网科技人工智能实验室
畅思互联网科技
长沙茂晟互联网科技有限公司
互联网科技大赛获奖感言
万物互联网智能科技
伍佰万互联网科技是干嘛的
利用互联网等科技手段
菲比寻常互联网科技
猫创互联网科技
卫星互联网科技股票
西藏七维空间互联网科技有限公司
电子科技大学互联网创业大赛
高科技互联网发展前景如何
互联网时代的科技公司
小米互联网科技园入驻
互联网风格科技公司名称
易租星互联网科技有限公司