无法执行 lua 代码,从文件中读取
Cannot execute lua code, read from file
我有一些 lua 代码示例。例如:
for i=1,4 do
print(i)
end
我需要在 Python 3.4.
上使用 Lupa 库执行它
为此,我编写了以下代码:
import lupa
lua = lupa.LuaRuntime(unpack_returned_tuples=True)
lua.eval(open('test.lua').read())
其中 test.lua
是我的示例 lua 文件。
但是如果我尝试执行这段代码,我会得到以下信息:
Traceback (most recent call last):
File "/Job/HW-2/testing/test1.py", line 3, in <module>
lua.eval(open('test.lua').read())
File "lupa/_lupa.pyx", line 251, in lupa._lupa.LuaRuntime.eval (lupa/_lupa.c:4579)
File "lupa/_lupa.pyx", line 1250, in lupa._lupa.run_lua (lupa/_lupa.c:18295)
lupa._lupa.LuaSyntaxError: error loading code: [string "<python>"]:1: unexpected symbol near 'for'
看来,这是一个很简单的问题,但我不知道如何解决。那么,如何使用 Lupa 在 Python 3 上执行 Lua 文件?
eval
方法需要一个 Lua 表达式来 returns 一个值。为了执行 Lua 语句,请改为调用 execute
:
>>> lua.execute("""for i=1,4 do
... print(i)
... end""")
1
2
3
4
我有一些 lua 代码示例。例如:
for i=1,4 do
print(i)
end
我需要在 Python 3.4.
上使用 Lupa 库执行它为此,我编写了以下代码:
import lupa
lua = lupa.LuaRuntime(unpack_returned_tuples=True)
lua.eval(open('test.lua').read())
其中 test.lua
是我的示例 lua 文件。
但是如果我尝试执行这段代码,我会得到以下信息:
Traceback (most recent call last):
File "/Job/HW-2/testing/test1.py", line 3, in <module>
lua.eval(open('test.lua').read())
File "lupa/_lupa.pyx", line 251, in lupa._lupa.LuaRuntime.eval (lupa/_lupa.c:4579)
File "lupa/_lupa.pyx", line 1250, in lupa._lupa.run_lua (lupa/_lupa.c:18295)
lupa._lupa.LuaSyntaxError: error loading code: [string "<python>"]:1: unexpected symbol near 'for'
看来,这是一个很简单的问题,但我不知道如何解决。那么,如何使用 Lupa 在 Python 3 上执行 Lua 文件?
eval
方法需要一个 Lua 表达式来 returns 一个值。为了执行 Lua 语句,请改为调用 execute
:
>>> lua.execute("""for i=1,4 do
... print(i)
... end""")
1
2
3
4