Я изучаю использование Lua в веб-проекте. Кажется, я не могу найти способ прямого анализа в чистом питоне и запуска кода Lua в Python.
Кто-нибудь знает как это сделать?
Джо
Я изучаю использование Lua в веб-проекте. Кажется, я не могу найти способ прямого анализа в чистом питоне и запуска кода Lua в Python.
Кто-нибудь знает как это сделать?
Джо
Есть проект (pylux), который встраивает Lua в Python. Хотя он кажется довольно неактивным, но это может быть хороший проект, на который стоит взглянуть.
Судя по вашим комментариям, вы заинтересованы в безопасном способе выполнения ненадежного кода.
Переопределение встроенных функций Python, как вы предложили в комментарии, — это ужасный способ защитить код.
То, что вам нужно, это песочница, есть решения для python, но я бы их не рекомендовал. Вам было бы намного лучше использовать Jython или IronPython, потому что JVM и .NET clr были разработаны с учетом песочницы.
Я лично считаю, что в большинстве случаев, если вам нужно выполнить ненадежный код, вы слишком или недостаточно доверяете своим пользователям.
@the_drow
С веб-сайта Lua:
Lua — это быстрый языковой движок с небольшими размерами, который вы можете легко встроить в свое приложение. Lua имеет простой и хорошо документированный API, который обеспечивает надежную интеграцию с кодом, написанным на других языках. Lua легко расширить библиотеками, написанными на других языках. С помощью Lua также легко расширять программы, написанные на других языках. Lua использовался для расширения программ, написанных не только на C и C++, но также на Java, C#, Smalltalk, Fortran, Ada, Erlang и даже на других языках сценариев, таких как Perl и Ruby.
@Джо Симпсон
Проверьте Lunatic Python, возможно, там есть то, что вам нужно. Я знаю, что это старый вопрос, но другие люди также могут искать этот ответ. Это хороший вопрос, который заслуживает хорошего ответа.