python执行js脚本报错CryptoJS is not defined问题

 更新时间:2024年05月16日 14:26:17   作者:水院一枝花  
这篇文章主要介绍了python执行js脚本报错CryptoJS is not defined问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python执行js脚本报错CryptoJS is not defined

直接在js代码加上一行定义CryptoJS就行了

function encrypt(e) {
    const CryptoJS = require('crypto-js');
var b = "bGVhcm5zcGFjZWFlczEyMw==";
var a = new Base64();
var c = a.decode(b);
var f = CryptoJS.enc.Utf8.parse(c);
var d = CryptoJS.AES.encrypt(e, f, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});
return d.toString()
};

下面附上调用js脚本的方法

            def encrypt(t):
                node = execjs.get()
                ctx = node.compile(open('123.js', encoding='utf-8', ).read())
                cnonce = ctx.call('encrypt',t)
                return cnonce
            q=encrypt(t)

python引用execjs 执行js脚本时编码错误

报错:

(UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 20: illegal )

错误出在python内部的subprocess.py文件

方法一

在引入execjs前加上下面三行代码

import subprocess
from functools import partial
 
subprocess.Popen = partial(subprocess.Popen, encoding="utf-8")
# 修改编码方式,window默认编码是gbk,Mac和Linux 默认是uft-8
 
#在前面三行后import需要的库 execjs
 
import execjs
 

方法二

打开subprocess.py文件,找到初始化函数__init__()

修改参数的默认值为encoding=‘utf-8’,程序运行不再报错

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python为Word添加文本与图片水印

    使用Python为Word添加文本与图片水印

    文档水印是办公自动化工作流中的常见需求,本教程演示如何使用 Python 为 Word文档添加文本和图片水印,这里介绍的方法适用于批量处理公司报告、添加保密标识或创建品牌文档模板,需要的朋友可以参考下
    2026-03-03
  • 使用keras实现Precise, Recall, F1-socre方式

    使用keras实现Precise, Recall, F1-socre方式

    这篇文章主要介绍了使用keras实现Precise, Recall, F1-socre方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 新版Python修改pip默认安装路径的方法与踩坑记录

    新版Python修改pip默认安装路径的方法与踩坑记录

    pip安装的第三方库默认存放在C盘中,为了便于管理和不过度占用C盘空间,有些读者可能会想修改默认的pip路径,下面小编就和大家详细介绍一下具体的修改方法吧
    2026-06-06
  • Pandas库中iloc[]函数的使用方法

    Pandas库中iloc[]函数的使用方法

    在数据分析过程中,很多时候需要从数据表中提取出相应的数据,而这么做的前提是需要先“索引”出这一部分数据,下面这篇文章主要给大家介绍了关于Pandas库中iloc[]函数的使用方法,需要的朋友可以参考下
    2023-01-01
  • 利用Python抓取阿里云盘资源

    利用Python抓取阿里云盘资源

    相对于百度云盘,阿里云盘的下载不限速,以及大容量空间深受大家的喜爱。本文将通过Python实现抓取阿里云盘的资源,感兴趣的可以学习一下
    2022-02-02
  • 基于Python数据分析之pandas统计分析

    基于Python数据分析之pandas统计分析

    这篇文章主要介绍了基于Python数据分析之pandas统计分析,具有很好对参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python更新所有已安装包的操作

    Python更新所有已安装包的操作

    今天小编就为大家分享一篇Python更新所有已安装包的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python下载文件记录黑名单的实现代码

    python下载文件记录黑名单的实现代码

    这篇文章主要介绍了python下载文件记录黑名单的实现代码,需要的朋友可以参考下
    2017-10-10
  • 在PyCharm中将命令打包生成exe文件的两种方式

    在PyCharm中将命令打包生成exe文件的两种方式

    在 PyCharm 中打包 Python 文件,最常用、最可靠的方法是结合使用 PyInstaller 工具,下面我会介绍两种在 PyCharm 中操作的方式,并重点说明如何确保依赖项和可能的数据文件被正确包含,需要的朋友可以参考下
    2026-03-03
  • 如何用python绘制散点图

    如何用python绘制散点图

    这篇文章主要介绍了如何用python绘制散点图问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论