将Lua输出保存到Python字符串

时间:2016-02-19 12:27:27

标签: python python-3.x lua lupa

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

import lupa

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

当然,resNone,因为此表达式不返回任何内容。但我需要捕获输出并保存在变量中。

这可能吗?我怎么能这样做?

1 个答案:

答案 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')

(基于具有这些代码示例的类似问题)