71

Python と JavaScript を統合することは可能ですか? たとえば、JavaScript でクラスを定義し、それらを Python から使用できるようにしたいとします (またはその逆)。もしそうなら、最善の方法は何ですか?これが可能かどうかだけでなく、「深刻な」プロジェクトまたは製品内で誰かがそれを行った場合に興味があります。

一例として、 JythonRhinoを使用すると可能だと思いますが、誰かが実際にこれを行ったことがあるかどうか、および他のプラットフォーム (特にCPython )のソリューションがあるかどうかに興味があります。

4

13 に答える 13

27

pyjsはどうですか?

上記サイトより:

pyjs は、Web とデスクトップの両方に対応したリッチ インターネット アプリケーション (RIA) 開発プラットフォームです。pyjs を使用すると、JavaScript を利用した Web アプリケーションを完全に Python で作成できます。

于 2009-03-25T22:00:23.007 に答える
20

これは、SeaMonkey Javascript インタープリターの Python ラッパーです... http://pypi.python.org/pypi/python-spidermonkey

于 2009-03-25T21:13:09.393 に答える
16

この質問はまったく新しいものではありませんが、いくつかの代替案が出てきています。

  • Skulpt完全に Python のブラウザー内実装です。」
  • Brython - 「クライアント側 Web プログラミングのための Python 3 実装」
  • RapydScript - 「余分なオーバーヘッドや癖のない Python ライクな JavaScript」
  • Transcrypt - 「複数の継承、ソースマップ、静的型チェック、および選択的な演算子のオーバーロードを備えた無駄のない Python 3.6 から JavaScript コンパイラへの変換.」(Githubでも)
于 2016-08-23T08:25:03.707 に答える
7

JavaScript と Python の間で複雑なデータ型を共有することに興味がある場合は、jsonpickleを確認してください。標準の Python JSON ライブラリをラップしますが、Python クラスやその他のデータ型のシリアライズとデシリアライズに優れた機能を備えています。

かなりの数の Google App Engine プロジェクトがこのライブラリを使用しています。 JooseFirePythonの両方に jsonpickle が組み込まれています。

于 2009-03-25T23:26:03.800 に答える
4

PyExecJSは、PyV8、Node、JavaScriptCore、SpiderMonkey、JScript のそれぞれを使用できます。

>>> import execjs
>>> execjs.eval("'red yellow blue'.split(' ')")
['red', 'yellow', 'blue']
>>> execjs.get().name
'Node.js (V8)'
于 2014-08-01T17:24:22.937 に答える
2

PyPy プロジェクトもチェックしてみてください。Python から Javascript、C、llvm への変換など、Python から (何でも) へのコンパイラがあります。これにより、Python でコードを記述し、必要に応じて Javascript にコンパイルできます。

http://codespeak.net/pypy

また、有益なブログもチェックしてください。

http://morepypy.blogspot.com/

残念ながら、この方法で Javascript を Python に変換することはできません。全体的に非常にうまく機能しているようです。以前は、オンラインの Bub'n'Bros ゲームの Javascript (コンパイルされた Python から作成) バージョンを使用していました (ただし、サーバーはしばらくダウンしていました)。

http://bub-n-bros.sourceforge.net

于 2009-03-26T03:01:25.513 に答える
2

JavaScriptCore (WebKit から) に基づくブリッジがありますが、かなり不完全です: http://code.google.com/p/pyjscore/

于 2009-03-25T21:47:03.523 に答える
2

Js2Pyを使用して JavaScript を Python に変換します。これが利用可能な唯一のツールです :)

于 2014-12-13T15:08:56.953 に答える
1

私はしばらく前に Pyjon で遊んでいましたが、Javascript の eval を Python で直接記述し、単純なプログラムを実行できたようです...ただし、JS の完全な実装ではなく、実験です。ここで入手してください:

http://code.google.com/p/pyjon/

于 2011-11-18T11:27:41.653 に答える
1

Firefox、Thunderbird、Komodo などXPCOMのベースのアプリで使用することもできます。XUL

于 2011-01-25T00:27:57.870 に答える