我有一个Lua表达式,可以打印一些字符串。例如:print(1+2)
。然后,我使用Lupa库在Python 3中调用此表达式:
import lupa
lua = lupa.LuaRuntime(unpack_returned_tuples=True)
res = lua.eval('print(1+2)')
当然,res
是None
,因为此表达式不返回任何内容。但我需要捕获输出并保存在变量中。
这可能吗?我怎么能这样做?
答案 0 :(得分:2)
我从未使用过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')
(基于具有这些代码示例的类似问题)