我正在研究在一个网络项目中使用Lua。我似乎无法找到任何在纯Python中直接解析并在Python中运行Lua代码的方法。
有谁知道怎么做?
乔
答案 0 :(得分:2)
根据您的评论,您似乎对执行不受信任的代码的安全方式感兴趣。
正如你在评论中所建议的那样,重新加工python builtins是一种保护代码的可怕方法。
你想要的是沙盒,有python的解决方案,但我不推荐它们。你会更好地使用Jython或IronPython,因为JVM和.NET clr在设计时考虑了沙盒。
我个人认为,在大多数情况下,如果您需要执行不受信任的代码,那么您对用户的信任度过高或过高。
答案 1 :(得分:1)
@the_drow
来自Lua的网站:
Lua是一种快速语言引擎,占用空间小,可以嵌入 轻松进入您的应用程序Lua有一个简单且记录良好的API 允许与其他语言编写的代码强大集成。 使用其他语言编写的库很容易扩展Lua。它 使用Lua也很容易扩展用其他语言编写的程序。 Lua已被用于扩展不仅用C和C ++编写的程序,还用于Java,C#,Smalltalk,Fortran,Ada,Erlang,甚至是 其他脚本语言,例如Perl和Ruby。
@Joe Simpson
查看Lunatic Python,它可能有你想要的。我知道这是一个老问题,但其他人也可能正在寻找这个答案。这是一个值得回答的好问题。
答案 2 :(得分:0)
这个项目(pylux)将Lua嵌入Python中。虽然它似乎相当不活跃,但它可能是一个好看的项目。