Python - 执行js脚本
Max.Bai
2019-08
0x00: 背景
需要用python执行mockjs 来生产模拟数据。
当然有其他办法,这个确实比较绕,暂且不讨论,主要关注python执行js。
0x01:工具
execjs 或者PyV8 pyton调用js的库,execjs稳定点,PyV8经常报错,但性能好点(或许是我姿势不对)
nodejs 用来执行js的引擎
mockjs js库
0x02: 直接上代码
代码确实太少了,就直接上了,注释部分为pyv8用法
# ! python3
# -*- coding:utf-8 -*-
import os
import execjs
# import PyV8
if os.name == 'nt':
os.environ["NODE_PATH"] = "C:/Users/max.bai/AppData/Roaming/npm/node_modules" #for windows
mockjs_path = 'C:/Users/max.bai/AppData/Roaming/npm/node_modules/mockjs/dist/mock.js'
else:
os.environ["NODE_PATH"] = "/usr/local/nodejs/lib/node_modules" #for centos
mockjs_path = '/usr/local/nodejs/lib/node_modules/mockjs/d