三分钟了解js2py模块

1. js2py简介

1.1 在python中的作用

Python中执⾏JS代码,通常两个库:js2py和pyexecjs。
js2py是纯python实现的库,⽤于在python中运⾏js代码,本质上是将js代码翻译成python代码

1.2 安装

pip install js2py

2. js2py的使用

2.1 快速入门

import js2py

a=js2py.eval_js('console.log("hello world")')

func_js="""
function add(a,b){
    return a+b
}
"""
add=js2py.eval_js(func_js)
print(add(2,3))
# 'hello world'
# 5

2.2 js代码翻译

将js文件翻译成python脚本,如下:

import js2py

# 一种,直接在终端翻译
tra=js2py.translate_js('console.log("hello world")')
print(tra)
# 打印结果:
# from js2py.pyjs import *
# # setting scope
# var = Scope( JS_BUILTINS )
# set_global_object(var)

# # Code follows:
# var.registers([])
# var.get('console').callprop('log', Js('hello world'))

# 另一种,建立js文件将其中的内容翻译成python脚本
js2py.translate_file('test.js','test.py')
# 建立一个名为test.js的文件,这里的test.js是文件的相对路径(与该python脚本在同一文件夹),test.py为生成python脚本的文件名

2.3 js代码中使用python函数

import js2py # 导入了一个模块

context = js2py.EvalJs({'python_sum': sum})  # 将python_sum定义为python函数sum

js_code = '''
python_sum([1,2,3])
'''

print('js_code:',context.eval(js_code))
# js_code: 6

你可能感兴趣的:(python)