广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python在线运行代码助手
  • 380
分享到

Python在线运行代码助手

在线助手代码 2022-06-04 18:06:15 380人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。原理如下: 在网页输入代码: 点击Run按钮,代码被发送到本机正在运行的Python代码运行助手

python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。原理如下:

在网页输入代码:

查看图片

点击Run按钮,代码被发送到本机正在运行的Python代码运行助手;

Python代码运行助手将代码保存为临时文件,然后调用Python解释器执行代码;

网页显示代码执行结果:

查看图片

下载

点击右键,目标另存为:learning.py

备用下载地址:learning.py

完整代码:


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

r'''
learning.py

A Python 3 tutorial from Http://www.liaoxuefeng.com

Usage:

python3 learning.py
'''

import sys

def check_version():
 v = sys.version_info
 if v.major == 3 and v.minor >= 4:
  return True
 print('Your current python is %d.%d. Please use Python 3.4.' % (v.major, v.minor))
 return False

if not check_version():
 exit(1)

import os, io, JSON, subprocess, tempfile
from urllib import parse
from wsgiref.simple_server import make_server

EXEC = sys.executable
PORT = 39093
HOST = 'local.liaoxuefeng.com:%d' % PORT
TEMP = tempfile.mkdtemp(suffix='_py', prefix='learn_python_')
INDEX = 0

def main():
 httpd = make_server('127.0.0.1', PORT, application)
 print('Ready for Python code on port %d...' % PORT)
 httpd.serve_forever()

def get_name():
 global INDEX
 INDEX = INDEX + 1
 return 'test_%d' % INDEX

def write_py(name, code):
 fpath = os.path.join(TEMP, '%s.py' % name)
 with open(fpath, 'w', encoding='utf-8') as f:
  f.write(code)
 print('Code wrote to: %s' % fpath)
 return fpath

def decode(s):
 try:
  return s.decode('utf-8')
 except UnicodeDecodeError:
  return s.decode('gbk')

def application(environ, start_response):
 host = environ.get('HTTP_HOST')
 method = environ.get('REQUEST_METHOD')
 path = environ.get('PATH_INFO')
 if method == 'GET' and path == '/':
  start_response('200 OK', [('Content-Type', 'text/html')])
  return [b'<html><head><title>Learning Python</title></head><body><fORM method="post" action="/run"><textarea name="code" style="width:90%;height: 600px"></textarea><p><button type="submit">Run</button></p></form></body></html>']
 if method == 'GET' and path == '/env':
  start_response('200 OK', [('Content-Type', 'text/html')])
  L = [b'<html><head><title>ENV</title></head><body>']
  for k, v in environ.items():
   p = '<p>%s = %s' % (k, str(v))
   L.append(p.encode('utf-8'))
  L.append(b'</html>')
  return L
 if host != HOST or method != 'POST' or path != '/run' or not environ.get('CONTENT_TYPE', '').lower().startswith('application/x-www-form-urlencoded'):
  start_response('400 Bad Request', [('Content-Type', 'application/json')])
  return [b'{"error":"bad_request"}']
 s = environ['wsgi.input'].read(int(environ['CONTENT_LENGTH']))
 qs = parse.parse_qs(s.decode('utf-8'))
 if not 'code' in qs:
  start_response('400 Bad Request', [('Content-Type', 'application/json')])
  return [b'{"error":"invalid_params"}']
 name = qs['name'][0] if 'name' in qs else get_name()
 code = qs['code'][0]
 headers = [('Content-Type', 'application/json')]
 origin = environ.get('HTTP_ORIGIN', '')
 if origin.find('.liaoxuefeng.com') == -1:
  start_response('400 Bad Request', [('Content-Type', 'application/json')])
  return [b'{"error":"invalid_origin"}']
 headers.append(('Access-Control-Allow-Origin', origin))
 start_response('200 OK', headers)
 r = dict()
 try:
  fpath = write_py(name, code)
  print('Execute: %s %s' % (EXEC, fpath))
  r['output'] = decode(subprocess.check_output([EXEC, fpath], stderr=subprocess.STDOUT, timeout=5))
 except subprocess.CalledProcessError as e:
  r = dict(error='Exception', output=decode(e.output))
 except subprocess.TimeoutExpired as e:
  r = dict(error='Timeout', output='执行超时')
 except subprocess.CalledProcessError as e:
  r = dict(error='Error', output='执行错误')
 print('Execute done.')
 return [json.dumps(r).encode('utf-8')]

if __name__ == '__main__':
 main()

运行

在存放learning.py的目录下运行命令:

C:UsersmichaelDownloads> python learning.py

如果看到Ready for Python code on port 39093...表示运行成功,不要关闭命令行窗口,最小化放到后台运行即可:

查看图片

试试效果

需要支持HTML5的浏览器:

IE >= 9
Firefox
Chrome
Sarafi

--结束END--

本文标题: Python在线运行代码助手

本文链接: https://www.lsjlt.com/news/14469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python在线运行代码助手
    Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。原理如下: 在网页输入代码: 点击Run按钮,代码被发送到本机正在运行的Python代码运行助手...
    99+
    2022-06-04
    在线 助手 代码
  • 如何在win7系统运行分区助手 win7系统运行分区助手图文教程
    分区助手是一个简单、稳定的磁盘分区管理软件,您可以很轻松的调整分区大小,移动分区位置,下面小编就教大家如何在win7系统运行分区助手。 分区助手专业版 6.0 磁盘分区管理软件 单文件绿色版类型:磁盘光盘大小:8.52M...
    99+
    2023-06-16
    win7系统 分区助手 运行 分区 助手 系统 win7
  • 如何在Github上运行Python代码
    Github是全球最大的开源社区之一,为开发者们提供了非常便捷的开源代码分享、协作交流平台。很多Python程序员在Github上分享了他们的Python代码,为Python社区的发展做出了积极的贡献。但是,对于新手来说,在Github上如...
    99+
    2023-10-22
  • 如何在 Windows 上运行 Python 代码?
    Python 是一门功能强大的编程语言,可以用于各种不同的应用场景。在 Windows 操作系统上运行 Python 代码是一个非常普遍的需求。本文将介绍如何在 Windows 上安装 Python 和运行 Python 代码。 安装 Py...
    99+
    2023-11-11
    windows npm git
  • 在Github上怎么运行Python代码
    这篇“在Github上怎么运行Python代码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在Github上怎么运行Pyth...
    99+
    2023-07-06
  • 基于SpringBoot实现代码在线运行工具
    目录说明基本思路后端实现前端说明 由于没有实现沙盒,所以这个运行只适合提交自己写的代码到服务器,不适合像 菜鸟工具 那样可以让人公开提交代码并访问。 基本思路 前...
    99+
    2022-11-13
  • java在线运行代码的方法是什么
    要在Java中在线运行代码,可以使用以下方法之一:1. 使用在线Java编译器/解释器:有许多在线平台可以运行Java代码,您可以将...
    99+
    2023-08-31
    java
  • 在线 Python运行工具
    摘要 准备 PHP环境设置 原理 system方式 exec 方式 源码 核心 完整代码 indexphp callpyphp temppy 演示 首页 提示信息 简要测试 运行等待 高级测试 错误提示 ...
    99+
    2023-01-31
    在线 工具 Python
  • python怎么运行代码
    python运行代码的方法:使用快捷键【win+R 键】打开运行窗口,然后输入:“cmd”,点击确定打开dos窗口。切换到你需要运行的文件所在的盘。再打开你需要运行的文件夹中。最后输入:python ***.py(程序文件的名字)...
    99+
    2022-10-06
  • 在Android线程池里运行代码任务实例
    本节展示如何在线程池里执行任务。流程是,添加一个任务到线程池的工作队列,当有线程可用时(执行完其他任务,空闲,或者还没执行任务),ThreadPoolExecutor会从队列里...
    99+
    2022-06-06
    android线程池 运行 android线程 程池 Android
  • spyder怎么运行python代码
    要在Spyder中运行Python代码,您可以按照以下步骤操作:1. 打开Spyder:在Windows系统上,可以从开始菜单中找到...
    99+
    2023-10-12
    spyder python
  • jupyter如何运行python代码
    要在Jupyter中运行Python代码,您可以按照以下步骤进行操作:1. 打开Jupyter Notebook:在命令行中输入ju...
    99+
    2023-10-19
    jupyter python
  • PHP语言在线代码运行编译工具推荐
    PHP语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入PHP语言代码,点击运行,可在线编译运行PHP语言,PHP语言代码在线运行调试,PHP语言在线编译,可快速在线测试您的PHP语言代码,在线...
    99+
    2023-09-08
    笔记
  • 如何在 Windows 上实时运行 Python Leetcode 代码?
    Python是一种流行的编程语言,其易于学习和使用,成为许多程序员的首选语言。在Leetcode上练习算法问题是提高编程技能的一个好方法。在Windows上运行Python Leetcode代码需要一些特定的设置。本文将介绍如何在Windo...
    99+
    2023-09-24
    leetcode 实时 windows
  • python如何在运行状态查看源代码
    这篇文章将为大家详细讲解有关python如何在运行状态查看源代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何在运行状态查看源代码查看函数的源代码,我们通常会使用 IDE 来完成。比如在 PyChar...
    99+
    2023-06-27
  • 如何在Windows中使用Bash运行Python代码?
    在Windows中使用Bash运行Python代码,可以帮助开发者将开发环境从Windows转移到Linux或macOS上,或者在Windows上使用Linux命令行工具。本文将介绍如何在Windows中安装和配置Bash,以及如何使用Ba...
    99+
    2023-06-25
    windows bash spring
  • 云服务器运行python代码
    以下是一个简单的 Python 云服务器示例代码,它将运行在 AWS 上,并创建一个名为 "cloud" 的文件夹,将您的数据保存在这个文件夹中。 ```python import csharp 设置 Python 运行环境 with o...
    99+
    2023-10-26
    代码 服务器 python
  • python获取代码运行时间
    有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。 import time start =time.clock() #中间写上代码块 end = time.clock() ...
    99+
    2023-01-31
    代码 时间 python
  • 如何用iPad运行Python代码
    这篇文章给大家介绍如何用iPad运行Python代码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。其实,不只是iPad,手机也可以。痛点我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题。其中最让人头...
    99+
    2023-06-17
  • 借助Python 函数进行模块化代码
    你是否对函数、类、方法、库和模块等花哨的编程术语感到困惑?你是否在与变量作用域斗争?无论你是自学成才的还是经过正式培训的程序员,代码的模块化都会令人困惑。但是类和库鼓励模块化代码,因为模块化代码意味着只需构建一个多用途代码块集合,就可以在许...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作