代码拉取完成,页面将自动刷新
同步操作将从 幸福的闪电/PathOfBuildingCN17173 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import json
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
def LoadFromJson(json_file_name):
with open(json_file_name, 'rb') as f:
return json.load(f)
def DataToLuaStr(data, retract = 1, iskey=False):
if isinstance(data, (int, float)):
return str(data)
elif isinstance(data, str):
if iskey and is_number(data):
return "{}".format(data)
else:
return "\"{}\"".format(data)
elif isinstance(data, list):
temp_str = "{\n"
for one_data in data:
temp_str += "\t" * retract
temp_str += "{},\n".format(DataToLuaStr(one_data, retract + 1))
temp_str += "\t" * (retract - 1)
temp_str += "}"
return temp_str
elif isinstance(data, dict):
temp_str = "{\n"
for key in data.keys():
temp_str += "\t" * retract
temp_str += "[{}] = {},\n".format(DataToLuaStr(key, iskey=True), DataToLuaStr(data[key], retract + 1))
temp_str += "\t" * (retract - 1)
temp_str += "}"
return temp_str
return "nil"
def SaveToLua(data, lua_file_name, note = ''):
lua_str = "--[[\n{}\n]]\nreturn ".format(note)
with open(lua_file_name, 'wb') as f:
lua_str += DataToLuaStr(data)
f.write(lua_str.encode("utf-8"))
def PasrseJsonToLua(json_file_name, lua_file_name, note = ''):
SaveToLua(LoadFromJson(json_file_name), lua_file_name, note)
def TestJson2Lua(json_file_name, lua_file_name, note = ''):
PasrseJsonToLua(json_file_name, lua_file_name, note)
def TestData2Lua(data, lua_file_name, note = ''):
SaveToLua(data, lua_file_name, note)
if __name__ == "__main__":
TestJson2Lua("test1.json", "test1.lua", "i am the note1")
TestData2Lua([1, 2, 3, 4, {'a':1, 'b':2}], "test2.lua", "i am the note2")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。