2011-03-16 145 views
2

我已經寫了一個模塊在Python中執行一些功能。如何從Javascript執行Python腳本?

然後我創建了一個使用JSON和JavaScript的Google Chrome擴展。

現在,當我點擊擴展名時,我希望它執行存儲在我的硬盤上的python程序,並再次在瀏覽器上顯示輸出。

有沒有一種方法可以做到這一點?

+1

是否使用chrome擴展點?或者你只是在爲你的應用尋找一個環境?我使用Adobe Air SDK做了一些非常類似的事情,它可以讓你調用與你的應用程序捆綁在一起的Python腳本。這是一個javascript/html環​​境,它允許您使用本地硬盤和本地套接字/資源。 – 2011-03-16 15:26:51

+0

但我希望它可以在瀏覽器上使用。 Adobe Air SDK可讓您在瀏覽器上創建界面? – Apps 2011-03-16 15:41:07

+0

不,它不會允許您在其他瀏覽器中使其可用。它擁有自己的內部基於webkit的瀏覽器,可以作爲無線應用程序或本機應用程序進行安裝。 – 2011-03-16 15:55:48

回答

2

重複:

Calling Python from JavaScript

這裏有一些答案,睡衣可能是你的情況最好的選擇

+0

我嘗試使用睡衣,但它試圖將整個python腳本轉換爲javascript。但我pyhton腳本使用NLTK和其他類似的軟件包,因此JS腳本給出了錯誤 – Apps 2011-03-16 15:46:32

+1

然後我認爲沒有選擇,google-chrome不提供python解釋器,我想沒有擴展可以完成這項工作。儘管如此,你可以用http://pyxpcomext.mozdev.org/ – eLobato 2011-03-16 16:05:41

1

原諒我,如果我在無限的比例不正確。

我相信JavaScript是在沙盒/隔離環境中執行的。因此你不能調用python解釋器*或系統上駐留的任何其他可執行文件。

*除非解釋器本身是用javascript編寫的。

+0

爲Mozilla Firefox做到這一點哦,好的。任何人都可以提出任何其他的方式嗎?我在2周內嘗試了它,並且沒有到達任何地方:-( – Apps 2011-03-16 18:13:21

1

可能是一個遲到的答覆,但一個可能的解決方案是讓你的Python腳本充當服務器,並讓瀏覽器插件與它交互。