如何将 Lua 的输出保存到 Python 字符串中

我有一个 Lua 表达式,它可以打印一些字符串。例如:print(1+2)。然后,我使用 Lupa 库在 Python 3 中调用此表达式:

import lupa

lua = lupa.LuaRuntime(unpack_returned_tuples=True)
res = lua.eval('print(1+2)')

当然,resNone,因为此表达式没有返回任何东西。但是我需要捕获输出并保存在变量中

这个可能吗?我该怎么做?

点赞
用户5352026
用户5352026

我从未使用过Python,但我认为你需要这样做:

import lupa

lua = lupa.LuaRuntime(unpack_returned_tuples=True)
res = lua.eval('1+2')

现在,_res_应该是3,你可以从Python打印出来。如果您想让Lua打印它,您将需要使用execute:

res = lua.execute('local v = 1+2 print(v) return v')

(基于类似问题的代码示例)

2016-02-19 14:05:23