用python执行js代码:PyExecJS库

简介: 文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。

一. 安装node.js环境

安装NodeJS
下载: http://nodejs.cn/download/
安装: https://www.runoob.com/nodejs/nodejs-install-setup.html

测试安装成功可在控制台输入:node --version

二. 安装PyExecJS

源:https://pypi.org/project/PyExecJS/

安装:pip install PyExecJS

查看执行JS的环境:

import execjs

# 返回:JScript,是windows 默认执行JS的环境
# 返回:Node.js (V8),是NodeJS环境
print(execjs.get().name)

三. 案例

2.1 一个简短的案例:

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

2.2 可以通过 get() 函数选择特定的JavaScript运行时

import execjs

default = execjs.get()  # the automatically picked runtime
print(default.eval("1 + 2"))
# jscript = execjs.get("JScript")
# print(default.eval("1 + 2"))
node = execjs.get("Node")
print(node.eval("1 + 2"))

2.3 先编译、后调用

import execjs

# 直接执行
print('execjs.eval:', execjs.eval(' "a、b、c、d、e".split("、") '))

# 先编译、后调用
# 将js文件中的内容读取出来编译即可调用里面的方法了
js_compile = execjs.compile(
    """
    function add(x, y) {
         return x + y;
     }
    """
)

eval_str = "js_compile.call('add', '{}', '{}')".format('abc', 123)
print('eval执行的语句:', eval_str)
print('eval:', eval(eval_str))

print('execjs.compile().call():', js_compile.call('add', 'abc', 123))

执行结果如下:
在这里插入图片描述

相关文章
|
4天前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
17 0
|
1天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
27 2
|
1天前
|
开发者 Python
探索Python中的列表推导式:简化代码的利器
在Python编程中,列表推导式是一种简洁而强大的工具,它允许开发者以一行代码实现复杂的列表操作。本文将深入探讨列表推导式的语法、优势以及实际应用,帮助读者更好地利用这一特性来优化代码。
|
4天前
|
设计模式 测试技术 开发者
掌握Python装饰器:提升代码效率与可读性的秘诀
【10月更文挑战第4天】 在本文中,我们将深入探讨Python装饰器的概念、使用方法以及实际应用。通过简洁明了的语言和具体代码示例,帮助编程初学者和有一定基础的开发者理解和掌握这一强大工具,从而编写出更加高效、简洁且可维护的代码。
15 3
WK
|
4天前
|
开发者 Python
Python代码布局规范有哪些
这段内容介绍了Python代码布局的规范,涵盖缩进、空行、行宽、空格使用、注释及顶级定义间的空行等方面,强调使用空格缩进、限制行宽、操作符两侧加空格、简洁注释等实践,旨在提升代码可读性和一致性,便于维护与理解。遵循这些规范能帮助开发者编写更清晰、整洁且易读的Python代码。
WK
19 2
|
4天前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
12 3
|
4天前
|
机器学习/深度学习 数据格式 Python
将特征向量转化为Python代码
将特征向量转化为Python代码
15 3
|
4天前
|
Linux Python Windows
Python sys 库的应用实例
Python sys 库的应用实例
13 3
|
1天前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
6 0
|
2天前
|
算法 数据可视化 计算机视觉
Python中医学图像处理常用的库
在Python中,医学图像处理常用的库包括:ITK(及其简化版SimpleITK)、3D Slicer、Pydicom、Nibabel、MedPy、OpenCV、Pillow和Scikit-Image。这些库分别擅长图像分割、配准、处理DICOM和NIfTI格式文件、图像增强及基础图像处理等任务。选择合适的库需根据具体需求和项目要求。
6 0