使用Python创建Lua API。

我正在寻找一种使 Python 读取 Lua 脚本并执行函数的方法,例如:

function foo()
*call python "test" def*
end
function bar()
print('honk')
end

在 Python 上:

def test():
    print('tonk')
    *call lua function "bar"

有没有办法实现这个功能?

点赞
用户4007237
用户4007237

有一个名为lupa的包。它似乎可以正好满足你的需求(取自它们的示例):

>>> import lupa
>>> from lupa import LuaRuntime
>>> lua = LuaRuntime(unpack_returned_tuples=True)

>>> lua.eval('1+1')
2

>>> lua_func = lua.eval('function(f, n) return f(n) end')

>>> def py_add1(n): return n+1
>>> lua_func(py_add1, 2)
3

>>> lua.eval('python.eval(" 2 ** 2 ")') == 4
True
>>> lua.eval('python.builtins.str(4)') == '4'
True
2015-04-28 19:23:50
用户4702810
用户4702810

你可以使用Lunatic库来实现,它可以从任意一端调用。https://labix.org/lunatic-python

2015-04-28 19:24:14