python代码运行助手怎么打开
python代码运行助手是能在网页上运行python语言的工具 。因为python的运行环境在很多教程里都是用dos的,黑乎乎的界面看的有点简陋,所以出了这python代码运行助手,作为ide 。
实际上 , python代码运行助手界面只能算及格分,如果要找ide,推荐使用jupyter 。jupyter被集成到ANACONDA里,只要安装了anacoda就能使用了 。
回到这个问题:
1、要打开这运行助手首先要下载一个learning.py,如果找不到可以复制如下代码另存为“learning.py”,编辑器用sublime、或者notepad。
#!/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
【python代码运行助手怎么打开】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'Learning?Python
if?method?==?'GET'?and?path?==?'/env':
start_response('200?OK',?[('Content-Type',?'text/html')])
L?=?[b'ENV']
for?k,?v?in?environ.items():
p?=?'%s?=?%s'?%?(k,?str(v))
L.append(p.encode('utf-8'))
L.append(b'')
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()2,再用一个记事本写如下的代码:
@echo?off
python?learning.py
pause另存为‘运行.bat’
3、把“运行.bat”和“learning.py”放到同一目录下,
4、双击运行“运行.bat",之后会弹出黑色的dos窗口,这个窗口不要关闭 。
5、输入网址对应的网址和端口,整个过程就完成了 。
推荐阅读
- 潍坊商业学校-潍坊医学院肿瘤医院 50路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-潍坊公交-潍坊地图
- 天宫院-安河桥北 大兴线 北京地铁4号线线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-北京地铁/轨交-北京地图
- GPT-4变笨引爆舆论!文本代码质量都下降,OpenAI刚刚回应了降本减料质疑
- 县医院-第七小学 丰宁1路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-承德公交-承德地图
- 珑耀华府-盐步污水处理厂 沥17路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-佛山公交-佛山地图
- 江高驾驶员考试中心-地铁滘心站总站 广州交通接驳线[地铁滘心站-江高考场]线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-广州公交-广州地图
- 酒店社区居委会-市行政中心 626路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-南通公交-南通地图
- 万家湾公交站-环球西路 125路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-成都公交-成都地图
- 伟桥金北嘉园-火车站 金州102路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-大连公交-大连地图
- 衢州机场站-衢州高级中学 临时站 22路线路信息,首末班车时间,运行线路图,站点信息以及换乘指南-衢州公交-衢州地图
