HTML 中可以嵌入 Python 代码吗?
PyScript 由来自 Anaconda 的团队开发,是一个用于在 HTML 中插入 Python 代码的工具,这意味着你可以在 HTML 中编写和运行 Python 代码,在 PyScript 中调用 Javascript 库,并在 Python 中进行所有的 Web 开发,是不是很神奇! 有了 PyScript,我们现在可以在 HTML 中编写 Python 代码并构建 Web 应用了,PyScript 可以让更多的前端开发者接触到 Python 的强大功能。有了 PyScript,我们不再需要担心部署问题,因为一切都将在你的浏览器中执行,比如作为数据科学家,你可以在一个 html 文件中分享模型,只要其他人在浏览器中打开该文件,就会运行代码了。 PyScript 是基于 Pyodide(https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyodide.orghttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712) 开发的,它是 CPython 到 WebAssemblyhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712Emscripten 的入口,PyScript 支持在浏览器中编写和运行 Python 代码,未来还将提供对其他语言的支持。 使得用 Python 编写网站成为可能的基础技术是 WebAssembly。最初开发 WebAssembly 时,Web 浏览器仅支持 Javascript。WebAssembly 于 2017 年首次发布,到 2019 年迅速成为了 W3C 的官方标准,它包括一种人类可读的 .wat 文本格式语言,然后将其转换为浏览器可以运行的二进制 .wasm 格式,这就使得我们可以用任何语言编写代码,将其编译为 WebAssembly,然后在网络浏览器中运行。 PyScript 的 alpha 版本可以在 pyscript.net 上找到,代码可在 https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712github.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript 获得。PyScript 允许你使用以下三个主要组件在 html 中编写 Python: 我们先创建一个最简单的示例,代码如下所示:什么是 WebAssembly?
如何使用 PyScript?
<meta charset="utf-8" https:>
<meta name="viewport" content="width=device-width,initial-scale=1" https:>
<title>PyScript Hello World<https:>
<link rel="icon" type="imagehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712png" href="favicon.png" https:>
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712alphahttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.css" https:>
<script defer src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712alphahttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712head>
<body>
Hello world! <br https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
This is the current date and time, as computed by Python:
<py-script>
from datetime import datetime
now = datetime.now()
now.strftime("%mhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712%dhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712%Y, %H:%M:%S")
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712py-script>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712body>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712html><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pre><p >只需要这页面上显示当前时间即可,在浏览器中打开后就可以看到结果了,如下所示:<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p><p style="text-align: center;"><img src="/static/imghw/default1.png" data-src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712img.php.cnhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712uploadhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712articlehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712000https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712465https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712014https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712168233119092064.png" class="lazy" alt="什么?可以在 HTML 中直接插入 Python 代码?" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p><p >又比如我们创建一个具有流式数据的 Panel 仪表盘,代码如下所示,先通过 引入需要的包,然后在 中编写 Python 代码,如果你不喜欢直接在下编写 Python 代码,也可以使用 Python 文件作为源代码,例如。<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p><pre class="brush:typescript;toolbar:false;"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="icon" type="imagehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712x-icon" href=".https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712favicon.png">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="theme-color" content="#000000">
<meta name="name" content="PyScripthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712Panel Streaming Demo">
<title>PyScripthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712Panel Streaming Demo<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712title>
<link rel="icon" type="imagehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712x-icon" href=".https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712favicon.ico">
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdnjs.cloudflare.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712ajaxhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712libshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712font-awesomehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd837125.15.3https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712csshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712all.min.css" type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712css" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712@holovizhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel@0.13.0https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712csshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712widgets.css" type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712css" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712@holovizhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel@0.13.0https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712csshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712markdown.css" type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712css" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript" src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712tabulator-tables@4.9.3https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712jshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712tabulator.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript" src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.bokeh.orghttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokehhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712releasehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokeh-2.4.2.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript" src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.bokeh.orghttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokehhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712releasehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokeh-widgets-2.4.2.min.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript" src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.bokeh.orghttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokehhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712releasehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bokeh-tables-2.4.2.min.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript" src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712@holovizhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel@0.13.0https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel.min.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script type="texthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712javascript">
Bokeh.set_log_level("info");
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.jsdelivr.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712npmhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstrap@4.6.1https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712csshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstrap.min.css">
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712@holovizhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel@0.13.0https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bundledhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstraptemplatehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstrap.css">
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712unpkg.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712@holovizhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712panel@0.13.0https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bundledhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712defaultthemehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712default.css">
<script src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.jsdelivr.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712npmhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712jquery@3.5.1https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712jquery.slim.min.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<script src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cdn.jsdelivr.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712npmhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstrap@4.6.1https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712disthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712jshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712bootstrap.bundle.min.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<link rel="stylesheet" href="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712alphahttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.css" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
<script defer src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.nethttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712alphahttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscript.js"><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712script>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712head>
<py-env>
- bokeh
- numpy
- pandas
- panel
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712py-env>
<body>
<nav style="background-color: #000000;">
<button type="button" >
<span ><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712span>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712button>
<a href="https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712">
<img src="/static/imghw/default1.png" data-src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712img.php.cnhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712uploadhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712articlehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712000https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712465https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712014https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712168233119095196.png" class="lazy" alt="什么?可以在 HTML 中直接插入 Python 代码?" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712a>
<a href="" style="color: #f0ab3c;">Panel Streaming Demo<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712a>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712nav>
<py-script>
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')
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712py-script>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712body>
<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712html><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pre><p >上面的代码在浏览器中打开后就可以直接显示对应的效果了:<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p><p style="text-align: center;"><img src="/static/imghw/default1.png" data-src="https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712img.php.cnhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712uploadhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712articlehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712000https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712465https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712014https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712168233119361962.gif" class="lazy" alt="什么?可以在 HTML 中直接插入 Python 代码?" https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712><https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p><p >关于 PyScript 的更多使用方法可以查看 Git 仓库示例 https:https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712github.comhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscripthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscripthttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712treehttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712mainhttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712pyscriptjshttps://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712examples 了解更多。<https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712p></script></https:>
</title>
以上是HTML 中可以嵌入 Python 代码吗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲
