当前位置: 首页 > news >正文

python:python执行js

一,安装node

安装Node.js(推荐)

    • 下载地址:https://nodejs.org
    • 验证安装:node -v
$ node -v
v22.20.0

二,安装python库

$ pip install PyExecJS
Collecting PyExecJSDownloading PyExecJS-1.5.1.tar.gz (13 kB)Installing build dependencies ... doneGetting requirements to build wheel ... donePreparing metadata (pyproject.toml) ... done
Collecting six>=1.10.0 (from PyExecJS)Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: PyExecJSBuilding wheel for PyExecJS (pyproject.toml) ... doneCreated wheel for PyExecJS: filename=pyexecjs-1.5.1-py3-none-any.whl size=14649 sha256=19677164f4303803756805f1a29a6bcd66ff7fa5f4d21b66ea740d25a1d836fbStored in directory: /home/liuhongdi/.cache/pip/wheels/95/1c/16/774a935204aacf741cea3deae76c535050d19727c72613d80f
Successfully built PyExecJS
Installing collected packages: six, PyExecJS
Successfully installed PyExecJS-1.5.1 six-1.17.0

三,执行js代码

代码:

import execjs# 直接执行
print(execjs.eval('"abc aaa bbb".split(" ")'))# 编译后调用
js_code = """
var t1="aaaa"
function add1(x, y) {return x + y;
}
"""
ctx = execjs.compile(js_code)
print(ctx.call("add1", 1, 2))  # 输出: 3
print(ctx.eval('t1'))

执行

['abc', 'aaa', 'bbb']
3
aaaa

四,执行文件中的js代码:

text.js

var t=666
function add(a, b) {return a+b
}

 python

import execjs# 读取js文件
def read_js_file(file_path):with open(file_path, 'r', encoding='utf-8') as f:return f.read()js_code2 = read_js_file('text.js')  # 假设norm.js中定义了add函数
print(js_code2)    # 查看js代码
ctx = execjs.compile(js_code2)
print(ctx.call("add", 2, 3))  # 输出: 5
print(ctx.eval('t'))    # 输出: 666

运行:

var t=666
function add(a, b) {return a+b
}5
666

 

http://www.jsqmd.com/news/34913/

相关文章:

  • flask:模板用extends扩充页面内容
  • 详细介绍:深度解析 Spring Boot 应用 Logback 初始化失败问题:从报错定位到彻底解决
  • flask: 用模板渲染html页面
  • 2025 年 11 月冷链运输厂家推荐排行榜,药品/临床样本/CAR-T/蛋白/诊断试剂/医药/生物/血液/细胞/芯片运输,冷藏车/冷藏箱/保温箱,干冰/液氮运输公司推荐
  • flask: 模板用include包含公共部分header\footer
  • 轻量高效!一款轻量级的自托管服务器监控工具!
  • flask: 用blue_print使控制器文件独立,不再保存在一个文件中
  • 深入解析:SaaS 安全架构
  • flask: 处理路由错误
  • 2025年广州消泡剂TSF-825公司权威推荐榜单:消泡剂681F/消泡剂S600/消泡剂691F源头公司家精选
  • 2025 年 11 月实木家具厂家推荐排行榜,实木/原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油/保养服务口碑之选
  • 《Learn Python Programming(4th)》读后感
  • OCX与C# 之一:初始OCX
  • MCU_WatchDog:独立与窗口看门狗解析 - 详解
  • 2025 年 11 月 VOC 检测仪厂家推荐排行榜,在线式 VOC,固定式 VOC,便携式 VOC,手持式 VOC,工业 VOC 检测仪公司推荐
  • 2025 年 11 月工业甲醛检测仪厂家推荐排行榜:在线式,固定式,便携式,手持式甲醛检测仪公司推荐,专业精准助力环境安全监测
  • 换医生的好处
  • 2025年工程塑料包装袋直销厂家权威推荐:SAN树脂包装袋/碳黑袋/导电袋源头厂家精选
  • 2025 年 11 月双面胶厂家推荐排行榜,AB双面胶,易撕贴双面胶,撕膜胶带双面胶,高粘易撕贴双面胶,花边胶双面胶,耐高温双面胶公司推荐
  • 2025 年 11 月防水网厂家推荐排行榜,防水网,味头防水网,专业防水网源头厂家实力解析与口碑之选
  • 2025年黑金沙石材实力厂家权威推荐榜单:黑金沙外墙干挂/黑金沙毛板/黑金沙火烧面源头厂家精选
  • 2025年上海医疗器械英国FSC注册机构服务权威推荐榜单:英国产品注册/ ukca什么时候实行/医疗器械做UKCA服务精选
  • Rokid JSAR 技术开发全指南:基于 Web 技术栈的 AR 开发实战 - 实践
  • 2025 年 11 月东莞环评公司推荐排行榜,环评手续,环评报告,环评验收,专业高效环评服务厂家推荐
  • 36 个 AI Demo 任选 6 个!JBoltAI 框架助力 Java 团队快速复刻企业级 AI 应用
  • 2025 年 11 月红木家具厂家推荐排行榜,交趾黄檀/小叶紫檀/巴里黄檀/缅甸花梨/阔叶黄檀,明清古典榫卯工艺高端定制全屋整装,白胚烘干源头工厂精选
  • 2025年电预热厂家权威推荐榜:管道电预热/热力管道电预热工程/热力管道电预热设备专业供应商精选
  • 面试问题总结
  • Java 开发者福音!JBoltAI 框架让 AI 应用开发效率翻倍
  • JBoltAI 的 Function Call + MCP 集成