PyScript 由来自 Anaconda 的团队开发,是一个用于在 HTML 中插入 Python 代码的工具,这意味着你可以在 HTML 中编写和运行 Python 代码,在 PyScript 中调用 Javascript 库,并在 Python 中进行所有的 Web 开发,是不是很神奇!
为揭西等地区用户提供了全套网页设计制作服务,及揭西网站建设行业解决方案。主营业务为网站设计制作、成都做网站、揭西网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
有了 PyScript,我们现在可以在 HTML 中编写 Python 代码并构建 Web 应用了,PyScript 可以让更多的前端开发者接触到 Python 的强大功能。有了 PyScript,我们不再需要担心部署问题,因为一切都将在你的浏览器中执行,比如作为数据科学家,你可以在一个 html 文件中分享模型,只要其他人在浏览器中打开该文件,就会运行代码了。
PyScript 是基于 Pyodide(https://pyodide.org/) 开发的,它是 CPython 到 WebAssembly/Emscripten 的入口,PyScript 支持在浏览器中编写和运行 Python 代码,未来还将提供对其他语言的支持。
使得用 Python 编写网站成为可能的基础技术是 WebAssembly。最初开发 WebAssembly 时,Web 浏览器仅支持 Javascript。WebAssembly 于 2017 年首次发布,到 2019 年迅速成为了 W3C 的官方标准,它包括一种人类可读的 .wat 文本格式语言,然后将其转换为浏览器可以运行的二进制 .wasm 格式,这就使得我们可以用任何语言编写代码,将其编译为 WebAssembly,然后在网络浏览器中运行。
PyScript 的 alpha 版本可以在 pyscript.net 上找到,代码可在 https://github.com/pyscript 获得。PyScript 允许你使用以下三个主要组件在 html 中编写 Python:
我们先创建一个最简单的示例,代码如下所示:
PyScript Hello World
Hello world!
This is the current date and time, as computed by Python:
from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
只需要这页面上显示当前时间即可,在浏览器中打开后就可以看到结果了,如下所示:
又比如我们创建一个具有流式数据的 Panel 仪表盘,代码如下所示,先通过 引入需要的包,然后在 中编写 Python 代码,如果你不喜欢直接在下编写 Python 代码,也可以使用 Python 文件作为源代码,例如。
PyScript/Panel Streaming Demo
- bokeh
- numpy
- pandas
- panel
import asyncio
import panel as pn
import numpy as np
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
from panel.io.pyodide import show
df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD')).cumsum()
rollover = pn.widgets.IntInput(name='Rollover', value=15)
follow = pn.widgets.Checkbox(name='Follow', value=True, align='end')
tabulator = pn.widgets.Tabulator(df, height=450, width=400)
def color_negative_red(val):
"""
Takes a scalar and returns a string with
the css property `'color: red'` for negative
strings, black otherwise.
"""
color = 'red' if val < 0 else 'green'
return 'color: %s' % color
tabulator.style.applymap(color_negative_red)
p = figure(height=450, width=600)
cds = ColumnDataSource(data=ColumnDataSource.from_df(df))
p.line('index', 'A', source=cds, line_color='red')
p.line('index', 'B', source=cds, line_color='green')
p.line('index', 'C', source=cds, line_color='blue')
p.line('index', 'D', source=cds, line_color='purple')
def stream():
data = df.iloc[-1] + np.random.randn(4)
tabulator.stream(data, rollover=rollover.value, follow=follow.value)
value = {k: [v] for k, v in tabulator.value.iloc[-1].to_dict().items()}
value['index'] = [tabulator.value.index[-1]]
cds.stream(value)
cb = pn.state.add_periodic_callback(stream, 200)
controls = pn.Row(cb.param.period, rollover, follow, width=400)
await show(controls, 'controls')
await show(tabulator, 'table')
await show(p, 'plot')
上面的代码在浏览器中打开后就可以直接显示对应的效果了:
关于 PyScript 的更多使用方法可以查看 Git 仓库示例 https://github.com/pyscript/pyscript/tree/main/pyscriptjs/examples 了解更多。
分享标题:什么?可以在HTML中直接插入Python代码?
本文路径:http://www.mswzjz.cn/qtweb/news48/84048.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能