python调用lua脚本

lua代码

入口函数是必须要填的

function test1(params)
    return 'test1:'..params
end

function test2(params)
    return 'test2:'..params
end

-- 入口函数,实现反射函数调用
function functionCall(func_name,params)
    local is_true,result
    local sandBox = function(func_name,params)
        local result
        result = _G[func_name](params)
        return result
    end
    is_true,result= pcall(sandBox,func_name,params)
    return result
end

python代码

from lupa import LuaRuntime
class Lua:
    def __init__(self):
        fileHandler = open('./code.lua')
        content = fileHandler.read()
        lua = LuaRuntime()
        lua.execute(content)
        g = lua.globals()
        self.function_call = g.functionCall

    def get_sign(self,data):
        res = self.function_call('sign', data)
        return res

if __name__ == '__main__':
    lua = Lua()
    sign = lua.get_sign("入参")
posted @   xsir161  阅读(722)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示