Търся да използвам Lua в уеб проект. Изглежда не мога да намеря никакъв начин за директно анализиране в чист Python и стартиране на Lua код в Python.
Някой знае ли как се прави това?
Джо
Търся да използвам Lua в уеб проект. Изглежда не мога да намеря никакъв начин за директно анализиране в чист Python и стартиране на Lua код в Python.
Някой знае ли как се прави това?
Джо
Има този проект (pylux), който вгражда Lua в Python. Въпреки това изглежда доста неактивен, но може да е добър проект за разглеждане.
От вашите коментари изглежда, че се интересувате от сигурен начин за изпълнение на ненадежден код.
Редифинирането на вградените модули на Python, както предложихте в коментар, е ужасен начин за защита на кода.
Това, което искате, е sandboxing, има решения за python, но не бих ги препоръчал. Ще бъде много по-добре да използвате Jython или IronPython, тъй като JVM и .NET clr са проектирани с мисъл за sandboxing.
Аз лично вярвам, че в повечето случаи, ако трябва да изпълните ненадежден код, тогава имате твърде много или недостатъчно доверие на вашите потребители.
@the_drow
От уеб сайта на Lua:
Lua е бърз езиков двигател с малък отпечатък, който можете лесно да вградите във вашето приложение. Lua има прост и добре документиран API, който позволява силна интеграция с код, написан на други езици. Лесно е да разширите Lua с библиотеки, написани на други езици. Също така е лесно да се разширяват програми, написани на други езици с Lua. Lua се използва за разширяване на програми, написани не само на C и C++, но и на Java, C#, Smalltalk, Fortran, Ada, Erlang и дори на други скриптови езици, като Perl и Ruby.
@Джо Симпсън
Вижте Lunatic Python, може да има това, което искате. Знам, че това е стар въпрос, но други хора също може да търсят този отговор. Това е добър въпрос, който заслужава добър отговор.