在 Leo Editor 環境開發並執行 Python 程式

以下我們利用 Leo Editor 用來開發 CherryPy 網際程式, 首先開啟一個新的 Leo Editor 專案

新增一個節點, 標題寫上"@edit mycherrypy1.py", 而內容則是:

1
2
3
4
5
6
7
import cherrypy
class HelloWorld(object):
    @cherrypy.expose
    def index(self):
        return "Hello World, 可以開始開發 Cherrypy 程式!"

cherrypy.quickstart(HelloWorld())


接著, 再建立一個節點, 標題寫上"@button run mycherrypy1.py", 而內容則是:

1
2
3
4
5
6
7
import subprocess

p = subprocess.Popen('start cmd /c v:\ide\python34\python mycherrypy1.py', shell=True)

p.wait()

print ('done')


然後, 將這個專案存為 cherrypy1.leo, 並且將滑鼠停在 @button run mycherrypy1.py 這個節點上, 按下上方的 script-button, 系統將會建立一個按鈕.

當您按下這個按鈕時, Leo Editor 將會執行這個 button 所對應的 Python 程式, 也就是在背後執行"啟動執行 mycherrypy1.py"的 dos command 指令.

這樣的 CherrPy 程式編輯與執行, 可以在程式內容更新時, 由此背後執行的 dos command 自動重新啟動 CherryPy 程式, 而無需使用者介入開關.

總結上述過程:

運用 @edit 節點指令, 將節點的內容存入外部的檔案, 在此就是建立一個可以在近端執行的 CherryPy 網際程式 運用 @button 可以建立一個內容為 Python 程式的指令按鈕, 當使用者按下此一按鈕, Leo Editor 就會設法執行此一 Python 程式 將與按鈕對應的程式透過 subprocess 模組, 讓程式在系統背景狀態下執行, 表示不要與 Leo Editor 執行中的 Python 程序有所瓜葛 這樣的 CherryPy 程式開發模式, 當使用者更新程式內容時, 系統會自動關閉, 再啟動 CherryPy 程式, 而使用者也可以透過 Ctrl+C 關閉上面所開啟的 dos command 程式執行 所完成的 leo 專案: https://copy.com/GXuWZ6YwaaiPpZKd


Comments

comments powered by Disqus