欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python調用JS代碼的方法大全

 更新時間:2025年05月30日 10:34:15   作者:失敗又激情的man  
這篇文章主要為大家詳細介紹了Python調用JavaScript代碼的三種常用代碼,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

一.pyexecjs的使用

PyExecJS 是一個 Python 庫,用于在 Python 環(huán)境中執(zhí)行 JavaScript 代碼。它實際上是對 ExecJS 庫的 Python 封裝,ExecJS 本身是一個通用的 JavaScript 運行環(huán)境的抽象層。使用 PyExecJS,你可以在 Python 中執(zhí)行 JavaScript 代碼,而無需啟動一個完整的 JavaScript 解釋器。它的目標是提供一種簡便的方式,使得在 Python 中嵌入 JavaScript 代碼成為可能,特別是對于需要JavaScript 交互的項目而言。

安裝方式:

pip install PyExecJS  -i  https://pypi.tuna.tsinghua.edu.cn/simple/

基本使用方法

(注:導入不需要py,下載要py)

import execjs  # 導入
# 生成JavaScript運行環(huán)境,環(huán)境名可以指定
node = execjs.get()  # 安裝nodejs后,會得到運行環(huán)境名為:Node.js (V8)
with open('1.js', encoding='utf-8') as f:
    js_code = f.read()
    print(js_code)
# 編譯js代碼
ctx = node.compile(js_code)  # compile方法去加載js代碼
 
# 兩種方式執(zhí)行js函數(shù)
data1 = ctx.eval('get_data({"aa": "123"})')  # eval方法中,整個函數(shù)調用包含在字符串內
print(data1)
data2 = ctx.call('get_data', ['123'])  # call方法中,第一個參數(shù)是函數(shù)名(str),后面接參數(shù)
print(data2)

js代碼

function get_data(aa){
 
 
    return aa
}

輸出

以上方法只針對非異步的js代碼

二.subprocess調用異步JS

在 Python 中,subprocess 模塊用于創(chuàng)建和管理子進程。可以通過端口調用JS代碼

本質是通過端口調用js代碼注意路徑,python代碼如下:

import subprocess
# 使用 subprocess 模塊執(zhí)行 Node.js 命令
result = subprocess.run(["node", "1.js", "daochu",  "7", "5"], capture_output=True, text=True)
# 輸出執(zhí)行結果
print(f"Node.js 執(zhí)行結果: {result.stdout.strip()}")

JS代碼(注意是輸出console.log,而不是返回return)

function getAsyncData() {
    return new Promise(function (resolve, reject) {
        resolve(123)
    });
}
getAsyncData().then(
    function (data){
        console.log(data)
    }
)

輸出結果

三.express異步接口調用

簡單來說,Express 是基于 Node.js 平臺,快速、開放、極簡的 Web 開發(fā)框架。

下載:

npm install express -S

基本用法

// 1.導入 express
const express = require('express');
 
// 2.創(chuàng)建 web 服務器
const app = express();
 
// 3.get請求 req是請求對象  res響應對象
app.get('/user', function(req, res){
    // 調用express提供的res.send()方法,向客戶端響應一個JSON對象
    res.send('hello world')
})
// 4.啟動 web 服務器
app.listen(8080, function(){
    console.log('express server running at http://127.0.0.1:8080/user');
})

響應返回的結果

所以簡單來說如果是異步js代碼

 
// 1.導入 express
const express = require('express');
// 2.創(chuàng)建 web 服務器
const app = express();
function getAsyncData(){
    return new Promise(function (resolve, reject) {
            resolve('hello world');
    });
}
// 3.get請求 req是請求對象  res響應對象
app.get('/user', function(req, res){
    // 調用express提供的res.send()方法,向客戶端響應一個JSON對象
    getAsyncData().then(function(data){
    res.send(data);
});
})
// 4.啟動 web 服務器
app.listen(8080, function(){
    console.log(" http://127.0.0.1:8080/user/")
    console.log('express server running at http://127.0.0.1:8080');
})

然后在本地請求http://127.0.0.1:8080/user/

import requests
url = "http://127.0.0.1:8080/user/"
response = requests.get(url)
print(response.text)
print(response)

結果如下,也是順利調用了

到此這篇關于Python調用JS代碼的方法大全的文章就介紹到這了,更多相關Python調用JS代碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python+tkinter使用40行代碼實現(xiàn)計算器功能

    Python+tkinter使用40行代碼實現(xiàn)計算器功能

    這篇文章主要為大家詳細介紹了Python+tkinter使用40行代碼實現(xiàn)計算器功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Django MEDIA的配置及用法詳解

    Django MEDIA的配置及用法詳解

    這篇文章主要介紹了Django MEDIA的配置及用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python 獲取圖片分辨率的方法

    python 獲取圖片分辨率的方法

    今天小編就為大家分享一篇python 獲取圖片分辨率的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 天翼開放平臺免費短信驗證碼接口使用實例

    天翼開放平臺免費短信驗證碼接口使用實例

    天翼開放平臺提供了一個免費的短信驗證碼API,下面看看使用方法吧,我們用python開發(fā)接口
    2013-12-12
  • Python使用random.shuffle()打亂列表順序的方法

    Python使用random.shuffle()打亂列表順序的方法

    今天小編就為大家分享一篇Python使用random.shuffle()打亂列表順序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • opencv-python基本圖像處理詳解

    opencv-python基本圖像處理詳解

    這篇文章主要介紹了Python Opencv圖像處理基本操作代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-08-08
  • Python導出并分析聊天記錄詳解流程

    Python導出并分析聊天記錄詳解流程

    這篇文章主要介紹了Python將QQ聊天記錄生成詞云的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • Python實現(xiàn)密鑰密碼(加解密)實例詳解

    Python實現(xiàn)密鑰密碼(加解密)實例詳解

    這篇文章主要介紹了Python實現(xiàn)密鑰密碼(加解密),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python3利用print輸出帶顏色的彩色字體示例代碼

    Python3利用print輸出帶顏色的彩色字體示例代碼

    用Python寫命令行程序的時候,單一的輸出顏色太單調了,所以下面這篇文章主要給大家介紹了關于Python3利用print輸出帶顏色的彩色字體的相關資料,需要的朋友可以參考下
    2019-04-04
  • python函數(shù)超時自動退出的實操方法

    python函數(shù)超時自動退出的實操方法

    在本篇文章里小編給大家整理的是一篇關于python函數(shù)超時自動退出的實操方法,有需要的朋友們可以學習下。
    2020-12-12

最新評論