2

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

import lupa

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

当然,resNone因为这个表达式什么都不返回。但我需要捕获输出并保存在变量中

这可能吗?我怎样才能做到这一点?

4

1 回答 1

2

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

import lupa

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

res现在应该是 3,您可以从 Python 打印。如果您希望 Lua 打印它,则必须使用执行:

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

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

于 2016-02-19T14:05:23.553 回答