python运行js代码_python 3 如何使用js2py运行javascript代码

1

首先,使用命令pip install来安装Js2Py。

这个包可将js代码翻译为python代码(需要依赖Js2Py才能执行的python代码),也可以作为一个VM直接运行javascript。

0d2fe5f202b375d76880f041515872dadf49d850.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

604e9556ad042e68ed121a5485f85856d43dd150.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

第一种用法,是使用js2py的eval_js函数。该函数会返回在python里包装的等价js对象。

如图,通过eval_js获取一个函数对象并使用。

d9a8d2d2bb66515981bc5b9f8fe23ea23b42c750.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

第二种使用方式是先调用EvalJs获取一个运行的context,然后接下来用这个context来运行代码。

a151a233ec3834bb1713e9ea8714c27bd3823d51.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

如果使用context来运行,则如图红框中的两种调用方式效果是相同的。

第一行的方法是在python侧准备参数,

第二行的方法是在context内直接执行。

efb861bd4c7c34b326bd780f5841037de0373151.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

我们也可以使用translate_js函数,获取一段js代码的等价python代码。如图所示右侧即为翻译后的python代码。

不过要注意的是,该python代码依赖于js2py.pyjs。

23fd63c5cf672b5ff1ba4e233314f4d0b4032751.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6

如果要运行翻译后的python代码文件:

1. 可以直接 python 文件名运行一遍

2. 也可以import之后,使用如图js2py的风格来调用里边的函数。

c3c22dbf3bef354f6044ff8b23db574afb321b51.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

7

另外,通过parse_js函数,我们可以查看js代码的解析树。解析树是字典形式,我们可以用Python代码来获取信息。

dd58d02c5b1b1edec820eb8c981fceecd2d90f51.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值