到这个链接将代码下载到本地,然后打开cmd,使用python运行此文件,然后不要关闭窗口:
https://raw.githubusercontent.com/michaelliao/learn-python3/master/teach/learning.py

cmd操作

E:\python\code>python learning.py
Ready for Python code on port 39093...
127.0.0.1 - - [29/Nov/2016 14:51:17] "GET / HTTP/1.1" 200 216
127.0.0.1 - - [29/Nov/2016 14:51:17] "GET /favicon.ico HTTP/1.1" 400 23

这样就开启了39093端口,然后就可以直接在浏览器访问了

http://127.0.0.1:39093/

但是这样提交代码的时候会提示bad request

所以需要配置下hosts文件

127.0.0.1      local.liaoxuefeng.com

如下方式访问:

http://local.liaoxuefeng.com:39093/

备份下

#!/usr/bin/env python3
# -*- coding: utf-8 -*-r'''
learning.pyA Python 3 tutorial from http://www.liaoxuefeng.comUsage:python3 learning.py
'''import sysdef check_version():v = sys.version_infoif v.major == 3 and v.minor >= 4:return Trueprint('Your current python is %d.%d. Please use Python 3.4.' % (v.major, v.minor))return Falseif not check_version():exit(1)import os, io, json, subprocess, tempfile
from urllib import parse
from wsgiref.simple_server import make_serverEXEC = sys.executable
PORT = 39093
HOST = 'local.liaoxuefeng.com:%d' % PORT
TEMP = tempfile.mkdtemp(suffix='_py', prefix='learn_python_')
INDEX = 0def 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 INDEXINDEX = INDEX + 1return 'test_%d' % INDEXdef 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 fpathdef 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 Lif 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()

直接在浏览器运行Python代码相关推荐

  1. 浏览器运行python代码

    猜你感兴趣 使用Pyqt5玩转ChatGpt 内网文件共享服务 快速搭建私有pip镜像源 python设计模式-创建型模式 docker搭建私有git服务器,项目备份和迁移 redis持久化方案 解决 ...

  2. 浏览器可以运行 Python 代码了?

    作为 Python 程序员,很羡慕那些 Javascript 开发者,动不动就能写出令人惊艳的网页.不过今年,我们也能用 Python 写前端了:Anaconda 团队开发出了 PyScript,你可 ...

  3. Python之父龟叔:考虑在浏览器里面使用 Python.js 运行 Python 代码

    文 | 局长 出品 | OSC开源社区 Mypy 项目核心团队的成员 ethanhs 发表推特称,得益于 Python 团队核心开发者 @ChristianHeimes 最近提交的 commit,他找 ...

  4. 适合ipad的python编程软件-如何用iPad运行Python代码?

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  5. python能在ipad上运行吗_如何用iPad运行Python代码?

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  6. ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  7. iPad该如何运行Python代码?

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  8. python手机版打了代码运行不了-三款可以在安卓手机上运行Python代码的软件

    导语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮忙 ...

  9. 安卓如何运行python_如何在android上运行Python代码?

    这个非常简单,Termux和QPython3这2个安卓APP就可以,都集成了Python解释器,可以直接编辑运行Python代码,下面我简单介绍一下: Termux 这是一个安卓高级终端APP,类似于 ...

最新文章

  1. Spring AOP无法拦截内部方法调用-- expose-proxy=true用法
  2. MySQL ceil()函数
  3. 纯jsp实现评论功能_自己实现的java手写tomcat
  4. Linux命令----用户管理
  5. HTML网页结构化框架、meta标签和语义化标签
  6. 阶梯英语2006年年终大会主持人发言稿
  7. 《软件需求模式》阅读笔记二
  8. linux disk 清除数据,如何在Linux中使用TestDisk恢复已删除的文件
  9. ccf_201712-02
  10. 7-2 组织星期信息 (10 分)
  11. 企业员工考勤管理子系统
  12. Ola VS Uber:从印度到伦敦的出行战争
  13. 支付宝小程序: h5跳转 小程序
  14. linux 中xls格式的文件,如何在命令行中将XLS文件转换为CSV [Linux] | MOS86
  15. html链接变灰,怎么在HTML中设置点击超链接后变成灰色
  16. 一份Java面试宝典「Java核心知识点」囊括JVM,Spring等29个技术
  17. 求100以内的所有质数(素数)
  18. 论文笔记(二十二):Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval
  19. 阿里云HaaS100物联网开发板学习笔记(一)硬件资源介绍
  20. 输入三个字母,比较AISS码大小

热门文章

  1. HR面/综合面系列:反问环节
  2. 学习Photoshop的一些网站以及找素材的网站
  3. 从微信小程序到抖音小程序:转换指南
  4. LeetCode 1071(最大公约)
  5. 如何设计大自然?#合成美学 #无学科专栏
  6. (Java实习生)每日10道面试题打卡——Java基础知识篇2
  7. 做自媒体短视频是如何赚钱的呢?
  8. Android:启动优化
  9. Authing 背后的计算哲学
  10. 面向对象的三个基本概念