精华内容
下载资源
问答
  • 我已经使用PyGame库在Python中编写了一个游戏,我试图将其嵌入HTML页面中以允许我在Web浏览器中播放。将Python游戏嵌入HTML中使用Skulpt我正在尝试使用JavaScript库Skulpt来做到这一点。我附上了一个测试脚本,...

    我已经使用PyGame库在Python中编写了一个游戏,我试图将其嵌入到HTML页面中以允许我在Web浏览器中播放。将Python游戏嵌入到HTML中使用Skulpt

    我正在尝试使用JavaScript库Skulpt来做到这一点。我附上了一个测试脚本,它能够成功输出下面的打印语句。

    skulpt.html

    print "I am python."

    function outf(text) {

    var mypre = document.getElementById("output");

    mypre.innerHTML = mypre.innerHTML + text;

    }

    var code = document.getElementById("pythonCode").value;

    Sk.configure({output:outf});

    eval(Sk.importMainWithBody("",false,code));

    输出skulpt.html的:

    ,我遇到的问题是,当我用我的游戏代码,而不是简单的print语句显示在它上面会产生下面看到的错误;

    我已经包含在正确的路径上的所有相关的图片到我的网络服务器目录。我不确定为什么会产生这个错误。任何帮助将不胜感激,谢谢!

    而且,这里是连接Python的游戏代码(和错误的现场演示):

    2015-06-01

    Nic

    +0

    您的示例网站已关闭。 –

    展开全文
  • PyAsm是由Python写的动态编译器,使用PyAsm还可以在Python中嵌入汇编语言,用汇编语言来编写Python函数。这听起来很疯狂,但也许你真的需要在python中使用汇编语言。起官方网站为http://members.verizon.net/~...

    PyAsm是由Python写的动态编译器,使用PyAsm还可以在Python中嵌入汇编语言,用汇编语言来编写Python函数。这听起来很疯狂,但也许你真的需要在python中使用汇编语言。起官方网站为http://members.verizon.net/~olsongt/usersGuide.html

    其实很久之前就发现了PyAsm,但是初期的尝试并不成功。官方网站并没有给太多的例子,刚开始也没有完全搞懂PyAsm的原理。昨天又突然想起 PyAsm来,终于有了发现。要用好PyAsm首先要了解PyAsm,根据我的不完全理解,PyAsm中的汇编代码应该是被编译成了Python扩展,然 后读入内存,并执行。这样,如何通过PyAsm在Python中使用汇编也就比较清晰了。其实就是将汇编代码作为Python的扩展函数来写。

    初次尝试PyAsm失败就是因为没法处理传入的参数,当时没有搞清楚,只是简单的使用!ARG来获取参数,而实际上PyAsm所编译的函数应当是 Python扩展函数的原型即static PyObject * ext_func(PyObject *self, PyObject *args),主要有两个参数self和args,其中args就是传入的参数列表,需要用Python API PyArg_ParseTuple来解析。

    同样,PyAsm中的函数返回值则需要用Py_BuildValue来创建。

    好,下面给出一个简单sum函数,求两个参数之和。

    # -*- coding:utf-8 -*-

    # file: test.py

    #   by: bluebanboom                0(0

    # mail: bluebanboom@gmail.com       ~

    # date: 2008-11-06

    # note:

    import pyasm.excmem

    from pyasm.x86asm import assembler, CDECL, STDCALL, PYTHON

    from pyasm.x86cpToMemory import CpToMemory

    def main():

    a = assembler()

    a.ADStr("in_fmt", "ii/0")

    a.ADStr("out_fmt", "i/0")

    a.AP("sum", PYTHON)

    a.ARG("self")

    a.ARG("args")

    a.AddLocal("x")

    a.AddLocal("y")

    #a.AI("INT 3")

    a.AI("LEA EAX, x")

    a.AI("PUSH EAX")

    a.AI("LEA EAX, y")

    a.AI("PUSH EAX")

    a.AI("PUSH in_fmt")

    a.AI("PUSH args")

    a.AI("CALL PyArg_ParseTuple")

    a.AI("ADD ESP, 0xC")

    a.AI("MOV EAX, x")

    a.AI("MOV EBX, y")

    a.AI("ADD EAX, EBX")

    a.AI("PUSH EAX")

    a.AI("PUSH out_fmt")

    a.AI("CALL Py_BuildValue")

    a.AI("ADD ESP, 0x8")

    a.EP()

    mem = CpToMemory(a.Compile())

    mem.MakeMemory()

    mem.BindPythonFunctions(globals())

    print sum(1, 2)

    print sum(2, 2)

    if __name__ == "__main__":

    main()

    上边的这个例子修改自PyAsm中的测试函数,运行后输出如下

    3

    4

    很好,不是吗?

    有个问题要注意,官方给的简单例子用的是PyAsm直接大段写代码,但这样有问题,通过调试我发现在函数的开头没有经典的

    push ebp

    mov ebp, esp

    并没有实现官方说的This will generate the boilerplate function startup code, which consists of PUSHing the EBP register, copying the current location of ESP, and translating arguments and local variables into references via the offset of the EBP pointer.但意外的是在函数结束却有那么一段,看来是一个bug,把位置搞错了。

    另外调用函数要自己清除堆栈。

    上边的代码中将INT 3给注释掉,如果需要调试代码可以去掉注释,这样就是出错,然后加载调试器就可以了。

    这样,在使用PyAsm的时候几乎就没有任何问题了。另外,PyAsm还可以充当编译器使用,真是强悍啊。

    展开全文
  • PyAsm-在python中嵌入汇编

    千次阅读 2009-03-31 12:53:00
    PyAsm是由Python写的动态编译器,使用PyAsm还可以在Python中嵌入汇编语言,用汇编语言来编写Python函数。这听起来很疯狂,但也许你真的需要在python中使用汇编语言。起官方网站为http://members.verizon.net/~...

    PyAsm是由Python写的动态编译器,使用PyAsm还可以在Python中嵌入汇编语言,用汇编语言来编写Python函数。这听起来很疯狂,但也许你真的需要在python中使用汇编语言。起官方网站为http://members.verizon.net/~olsongt/usersGuide.html

    其实很久之前就发现了PyAsm,但是初期的尝试并不成功。官方网站并没有给太多的例子,刚开始也没有完全搞懂PyAsm的原理。昨天又突然想起 PyAsm来,终于有了发现。要用好PyAsm首先要了解PyAsm,根据我的不完全理解,PyAsm中的汇编代码应该是被编译成了Python扩展,然 后读入内存,并执行。这样,如何通过PyAsm在Python中使用汇编也就比较清晰了。其实就是将汇编代码作为Python的扩展函数来写。

    初次尝试PyAsm失败就是因为没法处理传入的参数,当时没有搞清楚,只是简单的使用!ARG来获取参数,而实际上PyAsm所编译的函数应当是 Python扩展函数的原型即static PyObject * ext_func(PyObject *self, PyObject *args),主要有两个参数self和args,其中args就是传入的参数列表,需要用Python API PyArg_ParseTuple来解析。

    同样,PyAsm中的函数返回值则需要用Py_BuildValue来创建。

    好,下面给出一个简单sum函数,求两个参数之和。

    # -*- coding:utf-8 -*-
    # file: test.py
    #   by: bluebanboom                0(0
    # mail: bluebanboom@gmail.com       ~
    # date: 2008-11-06
    # note:

    import pyasm.excmem
    from pyasm.x86asm import assembler, CDECL, STDCALL, PYTHON
    from pyasm.x86cpToMemory import CpToMemory

    def main():
        a = assembler()
        a.ADStr("in_fmt", "ii/0")
        a.ADStr("out_fmt", "i/0")
        a.AP("sum", PYTHON)
        a.ARG("self")
        a.ARG("args")
        a.AddLocal("x")
        a.AddLocal("y")
        #a.AI("INT 3")
        a.AI("LEA EAX, x")
        a.AI("PUSH EAX")
        a.AI("LEA EAX, y")
        a.AI("PUSH EAX")
        a.AI("PUSH in_fmt")
        a.AI("PUSH args")
        a.AI("CALL PyArg_ParseTuple")
        a.AI("ADD ESP, 0xC")
        a.AI("MOV EAX, x")
        a.AI("MOV EBX, y")
        a.AI("ADD EAX, EBX")
        a.AI("PUSH EAX")
        a.AI("PUSH out_fmt")
        a.AI("CALL Py_BuildValue")
        a.AI("ADD ESP, 0x8")
        a.EP()
       
        mem = CpToMemory(a.Compile())
        mem.MakeMemory()
        mem.BindPythonFunctions(globals())
       
        print sum(1, 2)
        print sum(2, 2)
           
    if __name__ == "__main__":
        main()

    上边的这个例子修改自PyAsm中的测试函数,运行后输出如下
    3
    4

    很好,不是吗?

    有个问题要注意,官方给的简单例子用的是PyAsm直接大段写代码,但这样有问题,通过调试我发现在函数的开头没有经典的

    push ebp
    mov ebp, esp

    并没有实现官方说的This will generate the boilerplate function startup code, which consists of PUSHing the EBP register, copying the current location of ESP, and translating arguments and local variables into references via the offset of the EBP pointer.但意外的是在函数结束却有那么一段,看来是一个bug,把位置搞错了。

    另外调用函数要自己清除堆栈。

    上边的代码中将INT 3给注释掉,如果需要调试代码可以去掉注释,这样就是出错,然后加载调试器就可以了。

    这样,在使用PyAsm的时候几乎就没有任何问题了。另外,PyAsm还可以充当编译器使用,真是强悍啊。

    展开全文
  • odoo,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染html页面分页内容,这里写了判断逻辑首页{% if current_page == 1 %}...else %}>{% endif %}共{{total_page}...

    在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染

    html页面分页内容,这里写了判断逻辑

    • 首页

    {% if current_page == 1 %}

    {% else %}

    {% endif %}

    {% if current_page == total_page %}

    {% else %}

    {% endif %}

    共{{total_page}}页第{{current_page}}页跳转

    在,odoo的controllers中的逻辑

    class CarBudgetReport(http.Controller):

    @http.route('/car/budget/report/', auth='public')

    def index(self, page=1, **kw):

    data1 = request.env['lims.car.scheme'].get_first_budget()

    total_page = int(len(data1) / 10) + 1

    if page > total_page:

    data = []

    else:

    data = data1[(page - 1) * 10: page * 10]

    return env.get_template(HTML_FIEL_NAME).render({'data': data, 'current_page': page, 'total_page': total_page})

    CSS文件:

    /* 分页功能的通用样式 */

    #ty_paging {

    overflow: hidden;

    display: block;

    width: 100%;

    margin-top: 20px;

    text-align: center;

    user-select: none;

    -webkit-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    font-size: 14px;

    color: #000000;

    background-color: #FFFFFF;

    }

    #ty_paging li {

    display: inline-block;

    height: 32px;

    width: 32px;

    line-height: 32px;

    margin: 0px 5px;

    padding: 0px;

    border: 1px solid #ddd;

    border-radius: 2px;

    cursor: pointer;

    vertical-align: top;

    text-align: center;

    }

    #ty_paging .home,#ty_paging .jump {

    width: 56px;

    height: 32px;

    }

    #ty_paging .max {

    width: 60px;

    border: none;

    }

    #ty_paging .inputPage {

    height: 32px;

    width: 56px;

    border: 1px solid #ddd;

    border-radius: 2px;

    text-align: center;

    color: #000000;

    }

    在后台xml中需要将路由设置默认为1

    html 分页js代码

    //悬浮样式

    $('#home, #jump').mouseover(function() {//if ($(this).val() == ty_currentPage) return;

    $(this).css({'border-color': '#2db71a','color': '#000000',//'background-color': '#337ab7',

    });

    });

    $('#home, #prev, #next, #jump').mouseout(function() {//if ($(this).val() == ty_currentPage) return;

    $(this).css({'border-color': "#ddd",'color': '#666',//'background-color': '#ffffff',

    });

    });

    $('#up, #down').mouseover(function() {//if ($(this).val() == ty_currentPage) return;

    $(this).css({'border-color': '#337ab7','color': '#ffffff','background-color': '#2db71a',

    });

    });

    $('#up, #down').mouseout(function() {//if ($(this).val() == ty_currentPage) return;

    $(this).css({'border-color': "#000000",'color': '#000000','background-color': '#ffffff',

    });

    });//点击跳转页面需要用到方法

    functionsubNmbr() {//先获取到页面上input输入框中的值

    var subNmbr = document.getElementById('inputPage').value;//console.log(subNmbr);

    //在获取li的id,在点击时做一个动作

    document.getElementById("jump").onclick = function() {//根据a标签的id获取链接,设置href属性

    var aObj = document.getElementById("add");//把要跳转的页面连接传入href

    aObj.href = "/car/budget/report/" +subNmbr;//根据id获取超链接,设置文字内容

    aObj.innerText = "跳转";

    };

    }

    之后便可以进行数据的简单分页

    c0dcac8e6b9e3ec4a846f33f85e256f6.png

    展开全文
  • odoo,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染html页面分页内容,这里写了判断逻辑首页{% if current_page == 1 %}...else %}>{% endif %}共{{total_page}...
  • http://members.verizon.net/~olsongt/usersGuide.html其实很久之前就发现了PyAsm,但是...要用好PyAsm首先要了解PyAsm,根据我的不完全理解,PyAsm的汇编代码应该是被编译成了Python扩展,然后读入内存,并执行...
  • odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染。这篇文章主要介绍了Python odoo中嵌入html简单的分页功能 ,需要的朋友可以参考下
  • 所以我尝试chttp://docs.python.org/2/extending/embedding.html中使用这个嵌入python我用这样的native.c创建了一个简单的android项目(我所做的只是添加python头)#include #include #include #...
  • Python odoo中嵌入html简单的分页功能

    万次阅读 2019-05-29 18:59:52
    odoo,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染 html页面分页内容,这里写了判断逻辑 <!-- 分页 --> <ul id="ty_paging"> <li class="home" id="home"&...
  • 最近由于的调整,要使Python的Flask框架和Bootstrap框架结合开发web项目非常方便,但今天在...在Python文件使用flask定义的表单进行表单类文件的编写,demon代码如下: # _*_ coding:utf-8 _*_ from flask import F
  • C中嵌入python

    2012-02-17 12:22:36
    http://www.linuxforum.net/forum/showflat.php?Board=python&Number=486602 http://www.unixresources.net/linux/clf/python/archive/00/00/45/54/455446.html
  • boost.python python 嵌入c++ 部分,网上找到的中文资料似乎都有些过时了,如 boost.python学习笔记 http://edyfox.codecarver.org/html/boost_python.html在boost.python版本2,提供更加简洁易用的接口,我们可以...
  • boost.python python 嵌入c++ 部分,網上找到的中文資料似乎都有些過時了,如 boost.python學習筆記 http://edyfox.codecarver.org/html/boost_python.html在boost.python版本2,提供更加簡潔易用的接口,我們可以...
  • 我正在用Flask构建我的第一个web应用程序。这个web应用程序的概念是使用Pandas和Bokeh...期望但是,当我试图将绘图返回到我自己的html模板时,地图是空的。实际这是我的.py文件(为混乱的代码道歉)。import pa...
  • JavaScript中嵌入python脚本

    千次阅读 2011-06-22 14:18:00
    这里介绍的是IronPython. 其功能是把python成功运行... 写法很简单,只要在html中加载一个js文件:http://gestalt.ironpython.net/dlr-latest.js type="text/javascript">如果你使用的是本地网络(未联网),还可以把dlr
  • 我想Windows 7 PC上的Python(2.7)Tkinter GUI应用程序中嵌入Cartopy模块图,但是我需要帮助弄清楚如何做.据我了解,Cartopy模块仅使matplotlib能够将其“图形”或图形视为坐标,并将其投影到现实世界的地理投影中....
  • boost.python入门教程 ----python 嵌入c++

    千次阅读 2012-10-29 20:25:03
    boost.python入门教程 ----python 嵌入c++ boost.python python 嵌入c++ 部分,网上找到的中文资料似乎都有些过时了, ...如 boost.python学习笔记 ...boost.python版本2,提供更加简洁易用的接口,我们可以
  • 原标题:Python入门图文教程 - 如何PyQt5中嵌入Matplotlib生成的图像来自: https://www.linuxmi.com/pyqt5-matplotlib-graph.html在这篇PyQt5文章中,我将向您展示如何PyQt5中嵌入Matplotlib生成的图像。...
  • 近期有个项目,使用python和Flask框架,渲染页面后,需要使用循环显示不定长的数据,由于Flask是基于python的web框架,因此可以在html页面直接使用{% %}嵌套python语法。 官方示例如下:...
  • 在html中嵌入markdown

    2015-11-23 19:33:00
    博客园网页里写markdown的时候, 某些特殊内容想加上自定义的css, 于是用<div class="xxx">...Python Markdown: Markdown Inside HTML Blocks告诉我应该用<span>而非<div>. 解释见Markdown: ...
  • 1、下载Python 3.4版本,网址请见...3、VS2013中建一个c++项目 4、配置他的各方面属性,请见:http://www.wuji8.com/meta/200481681.html或者请参见http://jingyan.baidu.com/articl
  • 怎样用python的matplotlib模块画累积分布图python matplotlib 有几...而且也可以方便地将它作为绘图控件,嵌入GUI应用程序。 它的文档相当完备,并且 Gallery页面 有上百幅缩略图,打开之后都有源程序。python ...
  • cankao :https://blog.csdn.net/weixin_44112790/article/details/95387314git doc:然后是DataFrame的手册,可以里面查找更多的方法,其实都和pandas的差不多。...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 193
精华内容 77
关键字:

在python中嵌入html

python 订阅