当前位置:首页 » 作文翻译 » u2 wcmov

u2 wcmov

发布时间: 2024-05-09 21:30:14

Ⅰ python代码运行助手怎么打开

python代码运行助手是能在网页上运行python语言的工具。因为python的运行环境在很多教程里都是用dos的,黑乎乎的界面看的有点简陋,所以出了这python代码运行助手,作为ide。

实际上,python代码运行助手界面只能算及格分,如果要找ide,推荐使用jupyter。jupyter被集成到ANACONDA里,只要安装了anacoda就能使用了。

回到这个问题:

1、要打开这运行助手首先要下载一个learning.py,如果找不到可以复制如下代码另存为“learning.py”,编辑器用sublime、或者notepad++。

#!/usr/bin/envpython3
#-*-coding:utf-8-*-

r'''
learning.py

APython3tutorialfromhttp://www.liaoxuefeng.com

Usage:

python3learning.py
'''

importsys

defcheck_version():
v=sys.version_info
ifv.major==3andv.minor>=4:
returnTrue
print('Yourcurrentpythonis%d.%d.PleaseusePython3.4.'%(v.major,v.minor))
returnFalse

ifnotcheck_version():
exit(1)

importos,io,json,subprocess,tempfile
fromurllibimportparse
fromwsgiref.simple_serverimportmake_server

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

defmain():
httpd=make_server('127.0.0.1',PORT,application)
print('ReadyforPythoncodeonport%d...'%PORT)
httpd.serve_forever()

defget_name():
globalINDEX
INDEX=INDEX+1
return'test_%d'%INDEX

defwrite_py(name,code):
fpath=os.path.join(TEMP,'%s.py'%name)
withopen(fpath,'w',encoding='utf-8')asf:
f.write(code)
print('Codewroteto:%s'%fpath)
returnfpath

defdecode(s):
try:
returns.decode('utf-8')
exceptUnicodeDecodeError:
returns.decode('gbk')

defapplication(environ,start_response):
host=environ.get('HTTP_HOST')
method=environ.get('REQUEST_METHOD')
path=environ.get('PATH_INFO')
ifmethod=='GET'andpath=='/':
start_response('200OK',[('Content-Type','text/html')])
return[b'<html><head><title>LearningPython</title></head><body><formmethod="post"action="/run"><textareaname="code"style="width:90%;height:600px"></textarea><p><buttontype="submit">Run</button></p></form></body></html>']
ifmethod=='GET'andpath=='/env':
start_response('200OK',[('Content-Type','text/html')])
L=[b'<html><head><title>ENV</title></head><body>']
fork,vinenviron.items():
p='<p>%s=%s'%(k,str(v))
L.append(p.encode('utf-8'))
L.append(b'</html>')
returnL
ifhost!=HOSTormethod!='POST'orpath!='/run'ornotenviron.get('CONTENT_TYPE','').lower().startswith('application/x-www-form-urlencoded'):
start_response('400BadRequest',[('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'))
ifnot'code'inqs:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_params"}']
name=qs['name'][0]if'name'inqselseget_name()
code=qs['code'][0]
headers=[('Content-Type','application/json')]
origin=environ.get('HTTP_ORIGIN','')
iforigin.find('.liaoxuefeng.com')==-1:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_origin"}']
headers.append(('Access-Control-Allow-Origin',origin))
start_response('200OK',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))
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Exception',output=decode(e.output))
exceptsubprocess.TimeoutExpiredase:
r=dict(error='Timeout',output='执行超时')
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Error',output='执行错误')
print('Executedone.')
return[json.mps(r).encode('utf-8')]

if__name__=='__main__':
main()

2,再用一个记事本写如下的代码:

@echooff
pythonlearning.py
pause

另存为‘运行.bat’

3、把“运行.bat”和“learning.py”放到同一目录下,

热点内容
交通银行不教英语四级原件 发布:2024-05-20 17:12:14 浏览:794
雷云英语怎么说及英文单词 发布:2024-05-20 17:06:44 浏览:663
英语的动物单词怎么写 发布:2024-05-20 17:05:55 浏览:128
重庆英语公共四级报名官网 发布:2024-05-20 17:05:22 浏览:428
锦城学院英语四级成绩单 发布:2024-05-20 16:57:58 浏览:662
一个天赋英语怎么翻译 发布:2024-05-20 16:04:04 浏览:898
天气英语四级分值分布 发布:2024-05-20 15:51:19 浏览:877
覆缘英语怎么说及英文单词 发布:2024-05-20 15:41:40 浏览:94
天津市初等英语四级考试 发布:2024-05-20 15:27:14 浏览:268
我们有一节阅读课英语怎么翻译 发布:2024-05-20 15:23:31 浏览:12