2012-04-20 56 views
2

我正在編寫一個簡單的基於Web的前端,用於在本地機器上運行的Python 控制檯程序。交互非常簡單。基本上,網絡前端需要:用於顯示Python控制檯應用程序輸出的Javascript庫

  1. 接受來自用戶的輸入(通過AJAX表單或其他)。
  2. 將此輸入傳遞給Python程序並運行它。
  3. 在運行時顯示Python控制檯程序的輸出,直到它終止。

前兩個可以很容易地完成(雖然適當的AJAX庫的建議會有所幫助)。

問題:需要什麼樣的Javascript庫才能完成3號?


備註

  • 我知道像AJAXtermShellinabox包,但不是一個完整的殼,我只是想顯示 Python的控制檯程序的輸出;本質上我想要一種方法將Python的stdout實時管理到一個網頁。

回答

1

由於python代碼輸出的時間不可預知,您可能正在尋找comet實現或其他服務器推送協議。所以在服務器端,你有一個線程正在從你的python進程'stdout讀取,並通過彗星將輸出推送到你的客戶端。

cometd可能是您爲客戶端&服務器組件最好的選擇。

+0

感謝您的評論,我發現了一個簡單的CherryPy彗星實現,它符合我的需求。謝謝! – Gilead 2012-04-21 12:35:33

+0

@Gilead我的榮幸,是CherryPy規則! – 2012-04-22 22:39:59