• 技术文章 >Python技术 >Python高级

    python如何调用js代码?

    2020-12-19 15:50:35原创3832

    python调用js代码.png

    python调用js代码比较好用的方法是使用第三方库pyexecjs,这个库可以用python运行JavaScript代码。

    实现方式:
    在本地 JS 环境下运行 JS 代码
    PS:支持的 JS 环境包含:Node.js、PyV8、PhantomJS、Nashorn 等
    1.安装依赖包 PyExecJS
    //py_exec_js_demo.py
    
    //安装依赖
    pip3 install PyExecJS
    2.从 JS 文件中读取源码
    def js_from_file(file_name):
        """
        读取js文件
        :return:
        """
        with open(file_name, 'r', encoding='UTF-8') as file:
            result = file.read()
    
        return result
    3.使用 execjs 类的compile()方法编译加载上面的 JS 字符串,返回一个上下文对象
    import execjs
    
    from js_code import *
    
    # 编译加载js字符串
    context1 = execjs.compile(js_from_file('./norm.js'))

    4.调用上下文对象的call() 方法执行 JS 方法其中参数包含:JS 代码被调的方法名、对应方法的传入参数

    # 调用js代码中的add()方法,参数为2和3
    # 方法名:add
    # 参数:2和3
    result1 = context1.call("add", 2, 3)
    
    print(result1)
    需要注意:js代码返回的字符串如果有特殊字符的话可能会出错。
    解决方法:先将字符串进行base64编码后再返回。
    function a(str) {
        return new Buffer(str).toString("base64");
    }
    专题推荐:python调用js代码
    品易云
    上一篇:python中列表的常见操作 下一篇:如何使用python制作抽奖程序?

    相关文章推荐

    • 使用多线程让Python应用飞起来• Elasticsearch基本介绍及其与Python的对接实现• Python使用Pillow添加图片水印• 深究Python中的asyncio库-线程并发函数• 深究Python中的asyncio库-shield函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网