Python에서 js를 실행하기 위한 2가지 솔루션

大家讲道理
풀어 주다: 2016-11-08 10:12:41
원래의
1447명이 탐색했습니다.

옵션 1

SpiderMonkey는 Mozilla 프로젝트의 일부이며 C 언어로 구현된 JavaScript 스크립트 엔진입니다. 엔진은 스크립트를 분석, 컴파일 및 실행하고 JS 데이터 유형의 요구에 따라 메모리 처리를 수행합니다. 이 엔진을 사용하면 할당 및 해제 작업을 통해 애플리케이션에 JavaScript 스크립트를 해석할 수 있는 기능이 제공됩니다.

spidermonkey를 사용하려면 먼저 설치해야 합니다.

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

위 설치가 완료된 후 /usr/local/bin/js를 실행하면 js 해석 실행 엔진을 시작할 수 있어야 합니다.

Python 사용 예:

# 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其他模块一样使用即可。
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!