在python中調用js或者nodejs


在python中調用js或者nodejs要使用PyExecJs第三方包。

pip install pyexecjs

示例代碼

>>> import execjs
>>> execjs.eval("'red yellow blue'.split(' ')")
['red', 'yellow', 'blue']
>>> ctx = execjs.compile("""
...     function add(x, y) {
...         return x + y;
...     }
... """)
>>> ctx.call("add", 1, 2)
3

這是沒有用到nodejs的情況;如果用到nodejs,這種寫法會報“Cannot find module 'xxx'”的錯誤。

如果要用nodejs,要在環境變量中指定node_modules的路徑。

os.environ["NODE_PATH"] = os.getcwd()+"/node_modules"

示例代碼

import os
import execjs
import json

# os.environ["EXECJS_RUNTIME"] = "Node"
os.environ["NODE_PATH"] = os.getcwd()+"/node_modules"
print execjs.get().name

parser = execjs.compile("""
    var wtf_wikipedia = require("wtf_wikipedia");
    function parse(text) {
        return wtf_wikipedia.parse(text);
    }
""")

if __name__ == "__main__":
    obj = parser.call("parse", '<doc id=\'1\'></doc>')
    print obj


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM