pyv8学习python和javascript变量进行交互

yipeiwu_com6年前Python基础

python取得javascript里面的值

复制代码 代码如下:

import PyV8

with PyV8.JSContext() as env1:
    env1.eval("""
                var_i = 1;
                var_f = 1.0;
                var_s = "test";
                var_b = true;
            """)
    vars = env1.locals
    var_i = vars.var_i
    print var_i


javascript取得python里面的值

复制代码 代码如下:

import PyV8

with PyV8.JSContext() as env1:
    env1.securityToken = "foo"
    env1.locals.prop = 3
    print int(env1.eval("prop"))

python和javascript里面的函数交互

python调用javascript里面的函数 python调用func就可以使用js里面的function函数了

复制代码 代码如下:

import PyV8

with PyV8.JSContext() as ctxt:
    func = ctxt.eval("""
                (function ()
                {
                    function a()
                    {
                        return "abc";
                    }

                    return a();
                })
                """)
    print func()

这样也可以

复制代码 代码如下:

import PyV8

with PyV8.JSContext() as ctxt:
    func = ctxt.eval("""
                    function a()
                    {
                        return "abc";
                    }

                    function c()
                    {
                        return "abc";
                    }
                """)
    a = ctxt.locals.a
    print a()

相关文章

解决pycharm 工具栏Tool中找不到Run manager.py Task的问题

解决pycharm 工具栏Tool中找不到Run manager.py Task的问题

在做Django项目的过程中, 无法进入pycharm提供的Run manager.py Task交互环境 出现这种问题是因为Pycharm无法识别这个项目是django项目.需要进行配...

Python 使用folium绘制leaflet地图的实现方法

Python 使用folium绘制leaflet地图的实现方法

leaflet为R语言提供了API很好用,这次尝试用Python使用leaflet,需要folium 安装folium pip install folium 一个小例子 imp...

Python中的rfind()方法使用详解

 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以下是rfind()...

Python Opencv实现图像轮廓识别功能

Python Opencv实现图像轮廓识别功能

本文实例为大家分享了python opencv识别图像轮廓的具体代码,供大家参考,具体内容如下 要求:用矩形或者圆形框住图片中的云朵(不要求全部框出) 轮廓检测 Opencv-Pyth...

python anaconda 安装 环境变量 升级 以及特殊库安装的方法

Anaconda 是一个旗舰版的python安装包, 因为普通的python没有库, 如果需要安装一些重要的库, 要经常一个一个下载,会非常麻烦. 所以这个一个集成的, 可以手动批量升级...