导航:首页 > https://wxaurl. cn /csxbC30i3Mm

https://wxaurl. cn /csxbC30i3Mm

发布时间:2024-10-18 12:47:44

① python浠g爜杩愯屽姪鎵嬫庝箞鎵撳紑

python浠g爜杩愯屽姪鎵嬫槸鑳藉湪缃戦〉涓婅繍琛宲ython璇瑷鐨勫伐鍏枫傚洜涓簆ython鐨勮繍琛岀幆澧冨湪寰堝氭暀绋嬮噷閮芥槸鐢╠os鐨勶紝榛戜箮涔庣殑鐣岄潰鐪嬬殑鏈夌偣绠闄嬶紝鎵浠ュ嚭浜嗚繖python浠g爜杩愯屽姪鎵嬶紝浣滀负ide銆

瀹為檯涓婏紝python浠g爜杩愯屽姪鎵嬬晫闈㈠彧鑳界畻鍙婃牸鍒嗭紝濡傛灉瑕佹壘ide锛屾帹鑽愪娇鐢╦upyter銆俲upyter琚闆嗘垚鍒癆NACONDA閲岋紝鍙瑕佸畨瑁呬簡anacoda灏辫兘浣跨敤浜嗐

鍥炲埌杩欎釜闂棰橈細

1銆佽佹墦寮杩欒繍琛屽姪鎵嬮栧厛瑕佷笅杞戒竴涓猯earning.py锛屽傛灉鎵句笉鍒板彲浠ュ嶅埗濡備笅浠g爜鍙﹀瓨涓衡渓earning.py鈥,缂栬緫鍣ㄧ敤sublime銆佹垨鑰卬otepad++銆

#!/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鈥濆拰鈥渓earning.py鈥濇斁鍒板悓涓鐩褰曚笅,

阅读全文

热点内容
放什么片?浏览:578
一个外国电影里女妓女浏览:174
男同大片:从影响到权益的探讨浏览:533
熊猫电影免费观看:探索最新电影的新途径浏览:829
外婆的家韩剧免费完整版:追忆与亲情的力量浏览:593
影视大全VIP:免费在线影视资源平台推荐浏览:720
男男国产电影浏览:633
韩国剧情电影关于画画浏览:817
21克精彩镜头在几分浏览:132
徐锦江最色的电影作品回顾浏览:531
韩国爱情电影免费看 浏览:111
姜恩惠演的电影全部:姜恩惠演的电影作品盘点浏览:714