Heim > Artikel > Backend-Entwicklung > 2 Lösungen zum Ausführen von js in Python
Option 1
SpiderMonkey ist Teil des Mozilla-Projekts und eine in der Sprache C implementierte JavaScript-Skript-Engine. Die Engine analysiert, kompiliert und führt Skripte aus und führt eine Speicherverarbeitung entsprechend den Anforderungen von JS-Datentypen durch und Objekte. Mithilfe dieser Engine können Sie Ihrer Anwendung die Möglichkeit geben, JavaScript-Skripte zu interpretieren.
Um Spidermonkey zu verwenden, müssen Sie es zuerst installieren. Die Methode ist wie folgt:
cd /home/linuxany.com/
wget http://ftp.mozilla .org/pub/ mozilla.org/js/js-1.7.0.tar.gz -O- |. tar xvz
cd js/src
make -f Makefile.ref
mkdir -p /usr/include/smjs/ -v
cp *.{h,tbl} /usr/include/smjs/ -v
cd Linux_All_DBG.OBJ
cp *.h /usr/include/smjs/ -v
mkdir -p /usr/local/{bin,lib}/ -v
cp js /usr /local/bin/ -v
cp libjs.so /usr/local/lib/ -v
Nachdem die obige Installation abgeschlossen ist, führen Sie /usr/local/bin/js und Sie aus sollte in der Lage sein, die JS-Interpretations-Lauf-Engine zu starten.
Python-Verwendungsbeispiel:
# coding:utf-8 import os import tempfile def call_js(js): f=tempfile.mktemp('sd', 'linuxany', '/tmp') f2=tempfile.mktemp('sd', 'linuxany', '/tmp') fp=open(f,'w') fp.write(js) fp.close() cmd="/usr/local/bin/js %s > %s" % (f,f2) os.system(cmd) result=open(f2).read() print result if __name__ == "__main__": code=''' function dF(s,n){ n=parseInt(n); var s1=unescape(s.substr(0,n)+s.substr(n+1,s.length-n-1)); var t=''; for(var i=0;i第2种方案Python-Spidermonkey 这个Python模块允许执行Javascript相关功能,是python与javascript之间进行操作的桥梁,javascript的类,对象和函数都可以在Python中调用。它大量借鉴了克拉斯Jacobssen的JavaScript Perl模块,而这又是Mozilla的PerlConnect Perl的结合为基础。安装:svn checkout http://python-spidermonkey.googlecode.com/svn/trunk/ python-spidermonkey-read-only下载完后,先运行python setup.py build然后运行python setup.py install官方网站:http://code.google.com/p/python-spidermonkey/同时需要安装Pyrex模块,一个支持python和C语言混编的模块。装完后就用python其他模块一样使用即可。