用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))

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

相关文章
|
1天前
|
Python
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
20 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
|
1天前
|
Python
turtle库的几个简单案例,代码可直接运行(python经典编程案例)
该文章提供了多个使用Python的turtle库绘制不同图形的简单示例代码,如画三角形、正方形、多边形等,展示了如何通过turtle进行基本的绘图操作。
12 5
|
2天前
|
NoSQL MongoDB 数据库
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)
这篇文章提供了使用Python操作MongoDB数据库进行CRUD(创建、读取、更新、删除)操作的详细代码示例,以及如何执行聚合查询的案例。
18 6
|
3天前
|
JavaScript 前端开发
常用的 JavaScript 框架和库
常用的 JavaScript 框架和库
12 6
|
2天前
|
Python
Python中的装饰器:简化你的代码
【9月更文挑战第24天】本文旨在通过Python装饰器的介绍和示例,帮助读者理解和掌握这一强大的工具。我们将从装饰器的基本概念出发,逐步深入到其实现原理,并通过实际代码示例展示如何利用装饰器优化和简化代码结构。文章将避免使用复杂的专业术语,确保内容通俗易懂,同时保持逻辑清晰,让初学者也能轻松上手。
|
2天前
|
数据处理 开发者 Python
代码之美:探索简洁而强大的Python编程
【8月更文挑战第56天】在编程的世界里,简洁不仅仅是一种风格,它是高效和可维护性的代名词。本文将通过Python编程语言的视角,带领读者领略代码的优雅与力量。我们将从基础语法出发,逐步深入到函数式编程、面向对象设计,以及实用的第三方库使用,揭示如何通过简洁的代码解决复杂问题。准备好让你的思维得到启发,让我们一起走进Python的世界,体验代码之美。
|
3天前
|
缓存 API 开发者
揭秘Python装饰器:简化代码,提升可读性
【9月更文挑战第23天】本文深入探讨了Python中一个强大但常被忽视的特性——装饰器。我们将了解装饰器是什么,它们如何工作,以及如何利用它们来增强我们的代码功能和可维护性。无论你是初学者还是有经验的开发者,这篇文章都将带你领略装饰器的魅力所在。
|
1天前
|
IDE 开发工具 Python
python3代码编程规范(命名、空格、注释、代码布局、编程建议等)
该文章详细介绍了Python3的编程规范,包括命名、空格使用、注释、代码布局等方面的最佳实践,帮助提升代码的可读性和一致性。
8 0
|
前端开发 JavaScript
8 种技巧让你编写更简洁的 JavaScript 代码
8 种技巧让你编写更简洁的 JavaScript 代码
242 0
8 种技巧让你编写更简洁的 JavaScript 代码
|
Web App开发 JavaScript 前端开发