当前位置: 首页 > 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.rkmt.cn/news/43621.html

相关文章:

  • flask:模板用extends扩充页面内容
  • flask: 用模板渲染html页面
  • flask: 处理路由错误
  • 2025年广州消泡剂TSF-825公司权威推荐榜单:消泡剂681F/消泡剂S600/消泡剂691F源头公司家精选
  • OCX与C# 之一:初始OCX
  • 2025 年 11 月双面胶厂家推荐排行榜,AB双面胶,易撕贴双面胶,撕膜胶带双面胶,高粘易撕贴双面胶,花边胶双面胶,耐高温双面胶公司推荐
  • 2025 年 11 月防水网厂家推荐排行榜,防水网,味头防水网,专业防水网源头厂家实力解析与口碑之选
  • Rokid JSAR 技术开发全指南:基于 Web 技术栈的 AR 开发实战 - 实践
  • 不用自己封装大模型!JBoltAI 框架为 Java AI 开发提供稳定 AI 应用支撑
  • 财务报销 + 智慧采购!JBoltAI 框架为 Java 企业打造场景化 AI 应用窗口
  • 向量库 + Embedding 模型!JBoltAI 框架帮 Java 团队搭建高精度 AI 应用知识库
  • 2025年高活性氢氧化钙厂家权威推荐榜单:熟石灰/高比表氢氧化钙/氢氧化钙颗粒源头厂家精选
  • 行业方案 + VIP 支持!JBoltAI 框架全程帮 Java 团队搞定 AI 应用落地难题
  • 老Java系统想加AI能力?JBoltAI框架帮改造,AI应用无缝衔接旧系统
  • 《ESP32-S3使用指南—IDF版 V1.6》第四十六章 SD卡模拟U盘实验
  • 2025年打包箱房制造企业权威推荐榜单:隔离房/创意集装箱/彩钢房源头厂家精选
  • 2025年知名的冷拉型钢杭州老房装修
  • 2025年管母线厂家综合实力排行榜:全绝缘铜管母线/管型母线/全屏蔽绝缘铜管母线领先厂家精选
  • 2025年6月deepseek排名优化跨平台能力推荐排行榜
  • 2025年M14连接器插座厂家权威推荐榜单:M14焊线式插座/M14成型式针型插头/M14成型连接器插头源头厂家精选
  • CSP 2025 考前摆烂记
  • 2025年六月AI搜索优化服务商推荐榜全场景指南
  • 精美的Vue可视化流程设计器
  • 2025年院线护肤品供货厂家权威推荐榜单:美容院线产品/美容院护肤品/院线产品源头厂家精选
  • 家理律所联系方式: 官网与微信使用指南
  • 2025年深圳婚姻律所联系电话推荐:家理领衔口碑榜
  • 2025年北京遗产继承律师事务所联系电话推荐:老牌新锐全面覆盖
  • 2025年北京遗产继承律师事务所联系电话推荐:权威榜单与沟通技巧
  • 2025年北京遗产继承律师事务所联系电话推荐:精选五家专业机构
  • 2025年中国离婚财产律师联系电话推荐:精选推荐与使用指南