Python在线运行

在浏览器里直接运行 Python 3 代码:站点自托管 CPython 3.14(Pyodide WebAssembly)解释器,代码跑在独立后台线程,死循环可一键强制停止,内置标准库、input() 输入预览、限时看门狗与中文错误分类;代码和输出不上传服务器。
本地执行 · 代码不上传Python 3.14 · 科学计算 / 中文绘图 / 虚拟文件
Ctrl / ⌘ + Enter 运行
库按需加载,文件仅保存在当前解释器内
Python 代码 未加载空闲
main.py
0 行 · 0 字符草稿自动保存在本机
运行结果本次 —输出 0 行

兼容库管理

也可直接在代码中 import 自动加载

选择需要加载的兼容库。

仅提供下列 6 个已校验的 Pyodide 兼容库,不代表支持任意 pip 包。首次安装会下载依赖;Matplotlib 还会按需加载中文字体。

虚拟工作目录

导入、预览、下载文件

正在读取工作目录…

代码默认在 /home/pyodide/workspace 运行。文件不会上传服务器;停止、重置或关闭页面会丢失这些文件,请及时下载。

/
打开后读取工作目录。单文件导入上限 5 MB,预览或下载上限 20 MB。

图表预览

新图表只更新计数,点击「图表」查看,不打断编辑。

保留最近 5 张预览;图片同时保存到工作目录的 plots 文件夹。

还没有图表。试试下方「中文绘图」示例,首次会按需加载 Matplotlib 和 Noto CJK 字体。

运行设置
示例
工具说明

Python 在线运行工具在浏览器里跑真正的 CPython 解释器:站点自托管 Pyodide 314.0.7(CPython 3.14.2,WebAssembly 构建),代码、输入和输出都不上传服务器。解释器运行在独立的后台线程(module worker)里,主线程只负责显示,所以死循环不会让页面卡死,点「停止」会直接销毁该线程——这是唯一能可靠中断正在计算的解释器的做法,代价是变量状态一起清空,下一次运行相当于全新的 Python 进程。编辑器基于 CodeMirror,支持 Python 语法高亮、行号与括号匹配;草稿会自动存在浏览器本地,刷新页面代码还在。

使用方法:在编辑区写代码,或导入不超过 1 MB 的 UTF-8 .py / .txt 文件;需要 input() 时,把每一行输入预先填进下方「标准输入」,然后点「运行」或按 Ctrl+Enter(Mac 为 Cmd+Enter)。引擎是约 13 MB 的 CPython(WASM),点击运行、预热或首次聚焦编辑区时开始加载;只浏览页面不会触发下载。进度面板和输出区会显示「已接收 x MB / 12.9 MB(n%)」,依赖下载则显示当前文件的字节与百分比。引擎和库资源优先读取 IndexedDB 本地副本,不可用时回退普通浏览器缓存;缓存不保证永久保存。「清除资源副本」仅清理本工具的 IndexedDB,不删除工作文件,也不能强制清空浏览器 HTTP 缓存。10 / 30 / 60 秒限时只计算代码执行,环境加载另有 90 秒保护。

输出与状态:同一解释器里的变量会跨运行保留,「停止」和「重置解释器」会清空变量。结果区最多绘制 2000 行,超出的内容仍可复制;单行过长时仅缩短显示,不影响保留内容。为防止大量打印占满浏览器,累计复制缓存最多保留 2 Mi 字符,单次运行超过 2 Mi 字符或 50000 行输出会被停止。清空结果可重新开始记录。关闭「自动换行」后,长行可在结果区横向滚动。

示例:示例一「基础输出」用 print 与 f-string 输出 5 行,含「你好,Python!」和每行平方;示例二「读取输入」在标准输入里预置「小明」和「1995」,input() 依次读这两行,输出「小明,2026 年你 31 岁」(提示词不带换行,会和这行拼在同一条输出里);示例三「标准库统计」用 statistics 与 collections.Counter 处理 7 个分数,输出平均分 82、中位数 88、众数 92 和分布;示例四「异常处理」捕获除零异常并执行 finally,未捕获异常才会显示 traceback、中文分类和修改建议;示例五「性能小测」累加 0~999999 得 499999500000,再用筛法统计 200000 以内的 17984 个素数,用来感受 WASM 的实际速度;示例六「numpy 数组」构造 3×4 矩阵,输出形状 (3, 4)、列和 [12 15 18 21] 与点积 38,运行前会先按需加载 numpy。

兼容库:标准库之外提供 NumPy、Pandas、Matplotlib、Pillow、SciPy 和 SymPy,可在库管理中加载,也会根据代码的真实 import 按需加载。NumPy 首次约 2.8 MB,其他库连同完整依赖的体积会在库管理中显示;共享依赖不会重复安装。这里只支持已提供并校验过的兼容包,不代表可以安装任意 pip 包。requests、原生 socket、桌面图形界面等不在支持范围内。

绘图与文件:Matplotlib 使用非交互式 Agg 后端,plt.show() 或运行结束时会把未显示的图表输出为 PNG,每次最多 10 张,页面保留最近 5 张预览,其余仍可从工作目录下载。中文字体为 Noto CJK(SIL Open Font License),首次绘图另需按需加载约 13 MB 字体资源。「中文绘图」示例演示中文坐标轴,「表格与文件」示例用 Pandas 生成 cities.csv。文件默认位于 /home/pyodide/workspace,可导入、浏览、预览、下载、创建目录及删除文件或空目录;单文件导入最多 5 MB,一批最多 20 MB,预览或下载最多 20 MB。HTML / SVG 等内容仅按文本展示,不执行其中的脚本。停止、重置或关闭页面会清除解释器内的工作文件,请及时下载备份;代码草稿与输入设置另存在本机,可下载 main.py。

注意:本站不会主动上传代码和输入,但请勿运行来源不明的程序,用户程序自行发起的网络请求不受此承诺约束。解释器会占用本机 CPU 和内存,超大列表可能导致内存不足。浏览器不支持模块线程时,请升级 Chrome / Edge / Firefox / Safari;加载失败可在进度面板重试,原代码草稿仍然保留。

文件预览