我正在製作一個應用程序,人們可以在其中上傳java代碼並使用它進行操作。從Python內編譯java
我正在製作的應用程序是用Python編寫的。我想知道是否有可能從蟒蛇內所說的「的javac」命令,以編譯上傳的Java文件
我還使用JPype
我正在製作一個應用程序,人們可以在其中上傳java代碼並使用它進行操作。從Python內編譯java
我正在製作的應用程序是用Python編寫的。我想知道是否有可能從蟒蛇內所說的「的javac」命令,以編譯上傳的Java文件
我還使用JPype
http://docs.python.org/library/subprocess.html
但你肯定讓人們提交任意代碼是個好主意嗎?有安全方面的考慮...
該程序在他們自己的計算機上運行。所以對我來說沒有風險 – tgoossens
那臺電腦有網絡接入?所以有人可以上傳一個是開放代理的Java程序,或者是一個服務於非法內容的web服務器,或者.. –
@Erik:我想這是一種applet,它可以在客戶端的計算機上運行(=同一個上傳代碼)。這裏沒有新的危險 - 如果有人可以從客戶端上傳,他已經可以在那裏執行。 –
完全有可能:只使用system
命令和調用java編譯器。你可能需要設置類路徑和這種性質的東西,但它應該工作正常。
編輯:有關調用子流程的詳細信息,請參閱http://docs.python.org/library/os.html#os.system和http://docs.python.org/library/subprocess.html#module-subprocess。如果發生編譯錯誤,您可能需要捕獲輸出以返回給用戶。
'subprocess.call'遠遠優於'os.system'。 – Amber
那麼,你的問題在哪裏?請發佈(作爲對問題的編輯)你正在做什麼,以及結果(錯誤消息等)是什麼。 –