[英]Executing Python program on web
我可以使用os.system()
或subprocess.call()
對網絡服務器執行的Python程序?
我的意思是,我可以在.py腳本中編寫這些功能,然后從網絡瀏覽器中運行它並期望該程序被執行嗎?
非常感謝。
編輯:對不起,所有的混亂,我給你更多的背景我的問題。
我要這樣做的原因是這樣的。 我有一個Python程序,該程序接受XML文件並向我返回TTF文件。 我在終端中像這樣運行該程序:
ttx somefile.xml
之后,它將完成所有工作並生成一個ttf文件。 現在,當我將此腳本部署為Web服務器上的模塊時。 我使用來允許用戶瀏覽和選擇XML文件。 然后,我將文件數據讀取到臨時文件,然后將該文件傳遞給要執行的模塊腳本,如下所示:
ttx.main([temp_filename])
這是正確的方法嗎? 因為在這一點上,我在日志或瀏覽器中都沒有收到任何錯誤。 我出現黑屏。
當這個沒有工作,我會嘗試os.system
或subprocess.call
您不使用os.system或subprocess.call將某些內容作為cgi進程執行。
也許您應該在這里閱讀Python cgi教程:
http://www.cs.virginia.edu/~lab2q/
如果您希望cgi進程與本地計算機上的另一個進程進行通信,則可能需要查看Python的“ REST框架”。
是的,我一直都這樣做。 像平常一樣導入,將.py粘貼到cgi-bin文件夾中,並確保服務器能夠處理python。
另一種選擇是僅在Google的App Engine上創建一個應用程序。 這為您提供了大量執行Python的資源和API。
只要將服務器配置為運行CGI腳本(例如,有關Apache的文檔在此處 ),是的,您可以從Web服務器執行python腳本。 只需確保腳本在適當的cgi-bin /目錄中,並且該文件具有服務器上的可執行權限。
關於您的意見:
Option +ExecCGI
來完成的。 同樣,請參閱我鏈接到的文檔。 這是您在尋找問題時想要的東西,還是您想使用os.system()
實際調用 python腳本?
在IIS 5及更高版本的經典ASP中,我已經做了很多工作。 我會讓ASP引擎執行python代碼(而不是例如vbscript(在這里回溯到過去))。 在這些asp頁面的后面是用直接python編寫的python模塊,可以將其導入並執行幾乎任意代碼。 正如其他人提到的那樣,有效用戶需要對您要執行的事情具有執行權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.