记录一段python代码 (修改数据库字符串)
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,场景:由于开发恶心的账号登录设置,鉴于日本玩家用户习惯,刚开始以游客的身份登录游戏,若发生换包或者换设备,都需要从数据库重新更换账号ID,刚开始纯手工,其后py实现,封装为exe直接在dos里面执行,
千家信息网最后更新 2025年02月07日记录一段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安全错误
数据库的锁怎样保障安全
线下小程序服务器设置
网络安全投票照片
arcgis栅格数据库
数据库中未做健康检测人员怎么办
合肥咔哈网络技术有限公司
服务器管理ip怎么查看
查询数据库中每个表的总行数
安徽数据网络技术包括什么
dos可以修改数据库吗
电商软件开发外包
国家网络安全周宣传周知识
实现git的服务器端
昆山奥林波斯网络技术
oracle数据库清空表
通信网络技术属于哪个学科
网络安全责任书的制定
软件开发转驱动开发
数据库管理软件开发语言
ice的服务器的图
我的世界服务器坐下的指令
数据库备注在哪里看
arcgis栅格数据库
一汽网络安全总监刘明
网络安全能力走向的趋势
网络安全 方向
浪潮服务器配置远程IP地址
网络安全电影票房排行榜
更新数据库某个字段所有值
应聘软件开发应该准备什么
修改浏览器网页数据库