CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
工具链数据存储

【工具链】Lua+Python 工具开发:配置转换与批量校验的跨语言协作

2026-09-20 10:00 作者:996 技术组 9 阅读 996引擎Lua教程传奇脚本
完整课程入口:996 全套课程体系Lua 学习路径幂尔框架 mirs.cn

实战应用:用在哪里

策划给的 Excel、美术给的命名混乱的图片目录、运营要的数据报表——这些批量处理任务用 Python 做最合适;而游戏内只认 Lua 表。Lua+Python 协作的分工:Python 负责"外部格式到内部格式"的转换与校验,Lua 负责运行时读取。这条管线适用于配置转换、资源清单生成、日志批量分析。

Python 侧:Excel 转 Lua 配置

python
import openpyxl, json

wb = openpyxl.load_workbook("item.xlsx")
ws = wb.active
head = [c.value for c in ws[1]]
items = {}
for row in ws.iter_rows(min_row=2, values_only=True):
    if row[0] is None:
        continue
    items[row[0]] = dict(zip(head, row))

with open("item.lua", "w", encoding="utf-8") as f:
    f.write("return " + json.dumps(items, ensure_ascii=False, indent=1))

生成的 item.lua 以 return {...} 结尾,游戏内 local cfg = require("item") 直接加载。转换脚本里做三件事:id 唯一性校验、必填列非空校验、数字列类型转换——把校验前置到构建期,游戏内就不用防脏数据。

Lua 侧:校验与回读

转换产物进游戏前再过一遍 Lua 侧冒烟:加载配置、抽样断言字段类型、统计条目数与源文件行数比对。两侧校验都过才允许入库,单侧通过不算通过。

流程整合

转换脚本接进 CI(前篇 GitHub Actions 流水线):策划提交 Excel 到仓库,流水线自动跑转换与校验,产物进版本库。全流程无人工参与,配置更新从"找程序转表"变成"策划自己提交"。Python 与 Lua 各守一段管线,跨语言协作的关键不在语言互通,而在中间格式的定义与校验前置——这两件事定了,工具链就能长期自转。

环境与编码纪律

Python 侧统一 3.10 以上版本,依赖用 requirements.txt 锁定(openpyxl、pandas 按需);读写文件一律显式 UTF-8 编码,Windows 下默认 GBK 是转换乱码的头号来源。Lua 产物文件同样显式 UTF-8 无 BOM 输出,带 BOM 的配置在部分 Lua 加载器里会报首行错误。转换脚本的所有输出都带统计行(转换条数、跳过条数、耗时),接进流水线后每次运行的数字都留档,配置管线的每一次变化都有迹可循。nn## 推广场景nn同一套管线可平移到三类任务:公告与客服话术的 Excel 转 Lua 表、怪物刷新点坐标的批量导入、内挂拾取规则的生成。脚本参数化后(输入文件、输出文件、表头映射都做成命令行参数),一套代码服务全部转换需求,维护点只有一处。

← 返回文章地图返回研学路径