lua与python均为成熟的脚本方案,它们的不同在与体量,Lua的体量小,高效的执行方式适合嵌入式,python胶水的强大不言而喻。那么如果自己已经有了lua脚本的解决方案,python能否调用呢?答案是肯定的,这篇博客将介绍python中集成的lua环境包:lupa,简单介绍该工具的使用。

一、安装lupa

在线安装: pip install lupa

离线安装:下载离线包 https://pypi.org/project/lupa/#files

选择对应平台的离线包下载后使用pip进行安装

二、使用lupa再python中执行lua语句

lua.eval 可以直接执行lua语句

三、python中调用lua函数

Lupa将LuaJIT集成到了Python模块中,可以在Python中执行Lua代码。

下面提供一个.py 调用 .lua 中函数的demo,其中使用了lua的回调函数。如果只是需要简单函数,只需要在变量 g 中 按照名字找到函数的映射就可以了。

Test.lua

Test.py

在使用 g.function 直接调用lua函数的时候,返回值就直接是 lua脚本 中的返回值,还是非常友好的,如果遇到table返回值,在python中类型就是luaTable,直接按照下标索引就可以了。

四、lua调用python

由于lua中不能出现python的变量,所以lua调用python只能使用lua.eval来执行一个匿名的定义,建立一个函数映射关系,来进行调用。

下面这个demo中的 lua.eval 就是返回一个lua_call 到 py_call 的映射

下面的这个例子也是类似的

多找一些开源社区吧,相关的资料还是挺多的。

打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注