欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何使用代碼運(yùn)行助手

 更新時(shí)間:2020年07月03日 08:31:28   作者:愛喝馬黛茶的安東尼  
在本篇文章里小編給大家分享了關(guān)于python代碼運(yùn)行助手用法,需要的朋友們可以學(xué)習(xí)下。

python代碼運(yùn)行助手是能在網(wǎng)頁(yè)上運(yùn)行python語(yǔ)言的工具。因?yàn)閜ython的運(yùn)行環(huán)境在很多教程里都是用dos的,黑乎乎的界面看的有點(diǎn)簡(jiǎn)陋,所以出了這python代碼運(yùn)行助手,作為ide。

實(shí)際上,python代碼運(yùn)行助手界面只能算及格分,如果要找ide,推薦使用jupyter。jupyter被集成到ANACONDA里,只要安裝了anacoda就能使用了。

1、要打開這運(yùn)行助手首先要下載一個(gè)learning.py,如果找不到可以復(fù)制如下代碼另存為“l(fā)earning.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
    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='執(zhí)行超時(shí)')
    except subprocess.CalledProcessError as e:
        r = dict(error='Error', output='執(zhí)行錯(cuò)誤')
    print('Execute done.')
    return [json.dumps(r).encode('utf-8')]
 
if __name__ == '__main__':
    main()

2、再用一個(gè)記事本寫如下的代碼:

@echo off
python learning.py
pause

另存為‘運(yùn)行.bat'

3、把“運(yùn)行.bat”和“l(fā)earning.py”放到同一目錄下。

7d024039dbcb32cd8d52d73d02e5e33.png

4、雙擊運(yùn)行“運(yùn)行.bat",之后會(huì)彈出黑色的dos窗口,這個(gè)窗口不要關(guān)閉。

8c87d58fc7bfbd2971255f157072a57.png

5、輸入網(wǎng)址對(duì)應(yīng)的網(wǎng)址和端口,整個(gè)過程就完成了。

c04c480f423bc881ff3e5b2dd9e8c3c.png

知識(shí)點(diǎn)擴(kuò)展:

Python在線運(yùn)行代碼助手

#!/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','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','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','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','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='執(zhí)行超時(shí)')
 except subprocess.CalledProcessError as e:
 r = dict(error='Error',output='執(zhí)行錯(cuò)誤')
 print('Execute done.')
 return [json.dumps(r).encode('utf-8')]
 
if __name__ == '__main__':
 main()

到此這篇關(guān)于python如何使用代碼運(yùn)行助手的文章就介紹到這了,更多相關(guān)python代碼運(yùn)行助手用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python去除文件中重復(fù)的行實(shí)例

    python去除文件中重復(fù)的行實(shí)例

    今天小編就為大家分享一篇python去除文件中重復(fù)的行實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • 詳解python里使用正則表達(dá)式的全匹配功能

    詳解python里使用正則表達(dá)式的全匹配功能

    這篇文章主要介紹了詳解python里使用正則表達(dá)式的全匹配功能的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Python+DeOldify實(shí)現(xiàn)老照片上色功能

    Python+DeOldify實(shí)現(xiàn)老照片上色功能

    DeOldify是一種技術(shù),以彩色和恢復(fù)舊的黑白圖像,甚至電影片段。它是由一個(gè)叫Jason?Antic的人開發(fā)和更新的。本文將利用DeOldify實(shí)現(xiàn)老照片上色功能,感興趣的可以了解一下
    2022-06-06
  • Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署

    Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署

    這篇文章主要介紹了Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署小技巧,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-03-03
  • python中的隨機(jī)函數(shù)小結(jié)

    python中的隨機(jī)函數(shù)小結(jié)

    這篇文章主要介紹了python中的隨機(jī)函數(shù)小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-01-01
  • Python實(shí)現(xiàn)讀取txt文件并畫三維圖簡(jiǎn)單代碼示例

    Python實(shí)現(xiàn)讀取txt文件并畫三維圖簡(jiǎn)單代碼示例

    這篇文章主要介紹了Python實(shí)現(xiàn)讀取txt文件并畫三維圖簡(jiǎn)單代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • python如何做代碼性能分析

    python如何做代碼性能分析

    這篇文章主要介紹了python如何做代碼性能分析,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • pytorch中的inference使用實(shí)例

    pytorch中的inference使用實(shí)例

    今天小編就為大家分享一篇pytorch中的inference使用實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-02-02
  • Python中with上下文管理協(xié)議的作用及用法

    Python中with上下文管理協(xié)議的作用及用法

    這篇文章主要介紹了Python中with的作用及用法,with是從Python2.5引入的一個(gè)新的語(yǔ)法,它是一種上下文管理協(xié)議,下文更多詳細(xì)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-03-03
  • Python中l(wèi)oguru日志庫(kù)的使用

    Python中l(wèi)oguru日志庫(kù)的使用

    本文主要介紹了Python中l(wèi)oguru日志庫(kù)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論