浅谈PyExecJS模块

简介: 浅谈PyExecJS模块

浅谈PyExecJS模块
PyExecJS 是一个 Python 模块,用于在 Python 中执行 JavaScript 代码。

PyExecJS 模块的主要作用:

  1. 执行 JavaScript 代码:允许在 Python 环境中执行 JavaScript 代码,这在一些需要跨语言处理或评估 JavaScript 逻辑的场景中很有用。
  2. 支持多个 JavaScript 运行时:PyExecJS 支持多种 JavaScript 运行时(如 Node.js、PhantomJS、JavaScriptCore 等),使得可以根据需要选择合适的运行环境来执行 JavaScript 代码。
  3. 简化跨语言交互:方便在 Python 中与 JavaScript 代码进行交互,特别是当涉及到调用 JavaScript 函数或访问 JavaScript 对象时。
  4. 增强程序的灵活性:通过 PyExecJS,可以利用 JavaScript 的功能和库,扩展 Python 程序的能力和灵活性。

使用示例:
以下是一个简单的示例,演示了如何使用 PyExecJS 执行一段 JavaScript 代码:

import execjs

# 创建一个 JavaScript 环境
ctx = execjs.compile("""
function add(x, y) {
   
    return x + y;
}
""")

# 调用 JavaScript 函数并输出结果
result = ctx.call("add", 5, 10)
print(result)

通过上述代码,您可以看到如何使用 PyExecJS 在 Python 中执行 JavaScript 代码,并获取结果。这样可以方便地利用 JavaScript 的功能来扩展和增强 Python 程序的能力。

pyexecjs运行要依赖能运行js的第三方环境,这里我们选择用node作为我们运行js的位置。

pip install pyexecjs

测试一下:

import execjs
print(execjs.get().name) # 需要重启pycharm或者重启电脑Node.js(V8)

简单使用

import execjs

print(execjs.get().name)

# execjs.eval可以直接运行js代码并得到结果
js = """
"a,b,c,d".split(",")
"""
res = execjs.eval(js)
print(res)

# execjs.compile(), call()
# execjs.compile()事先加载好一段js代码
jj = execjs.compile("""
    function foo(a, b){
   
        return a + b}
""")
# call() 运行代码中xxx函数,后续的参数是xxx的参数
ret = jj.call("foo", 10, 20)
print(ret)

Windows中如果出现编码错误,在引入execjs之前,插入一下代码即可:

import subprocess
from functools import partial
subprocesss.Popen = partial(subprocess.Popen, encoding='utf-8')

import execjs
相关文章
|
9月前
|
存储 关系型数据库 MySQL
NestJS 配置 TypeORM 进阶教程
本文介绍了在 NestJS 项目中配置 TypeORM 的三种方式:初级阶段直接在 AppModule 中配置;进阶阶段抽离出独立的 DatabaseModule;进一步使用自定义命名空间将数据库配置分离到单独文件,提升可维护性与模块化程度。
444 3
|
数据采集 存储 机器学习/深度学习
构建高效的LinkedIn图像爬取工具
构建高效的LinkedIn图像爬取工具
|
8月前
|
机器学习/深度学习 前端开发 数据可视化
Kimi K2 开源发布:擅长代码与 Agentic 任务!
今天,月之暗面正式发布 Kimi K2 模型,并同步开源。Kimi K2 是一款具备更强代码能力、更擅长通用 Agent 任务的 MoE 架构基础模型,总参数 1T,激活参数 32B。
1514 0
|
9月前
|
JavaScript 前端开发 API
Node.js中发起HTTP请求的五种方式
以上五种方式,尽管只是冰山一角,但已经足以让编写Node.js HTTP请求的你,在连接世界的舞台上演奏出华丽的乐章。从原生的 `http`到现代的 `fetch`,每种方式都有独特的风格和表现力,让你的代码随着项目的节奏自由地舞动。
849 65
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
945 1
用python执行js代码:PyExecJS库
|
6月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
存储 JSON 小程序
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
本文档介绍了DWG数据库中图层的存储结构及MxCAD库对图层的操作。图层信息存储于图层层表McDbLayerTable()中,每个记录对应一个图层,包含颜色、线型等属性,且有一个不可删除的默认"0"层。主要操作包括:通过MxCpp.getCurrentMxCAD()获取图层表,使用addLayer()添加图层,遍历图层,以及删除图层。此外,还展示了如何修改图层的关闭、冻结、锁定状态及颜色。提供了在线示例以演示这些功能。
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
|
小程序 测试技术 API
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
本文详细介绍元服务的开发及上架全流程,涵盖元服务的特点、创建项目、服务卡片、签名打包、开发测试及上架审核等环节,帮助开发者轻松掌握从零开始开发并发布元服务的全过程。元服务以其轻量、免安装、易于使用等特点,成为未来服务提供的重要形式。
2439 13
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
|
JavaScript 前端开发 Java
115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】(一)
115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】
1767 0
|
Python
ZSH、oh-my-zsh安装教程及插件和主题推荐
ZSH、oh-my-zsh安装教程及插件和主题推荐
3115 0

热门文章

最新文章