2011-03-16 193 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脚本充当服务器,并让浏览器插件与它交互。