2

Python スクリプトを使用して作成された変数を取得し、JavaScript スクリプトで使用する方法はありますか?

たとえば、Python を使用して XML を解析し、int を取得します。

parse code parse code parse code
i = 3

次に、私の JavaScript で、その変数 "i" をいくつかの関数に使用できます。

code for my function
r = 30 / i 

次に、r 値は 10 に等しい

4

1 に答える 1

2

それらは通常、メモリや状態を共有しない別々のコンピューター上の別々のプロセスであるため、直接ではありません。あなたの質問にはあまり文脈がありませんでしたので、ウェブサーバーでpythonを実行していて、HTMLでJSを使用してHTMLを出力しているか、外部ソースとしてリンクしていると仮定します。

この場合、2 つのオプションがあります。

  1. JS を動的に生成し、それを Python スクリプトの出力に含めます (HTML 応答)

これを行う 1 つの方法は、open() 関数を介して Python スクリプトに Javascript をロードすることです。次に、これに有効な JavaScript コードである文字列を追加し、変数または JSON オブジェクトを定義します。

次の JavaScript ファイルがあるとします。

javascript.js

alert(my_js_data["field1"]);
alert(my_js_data["field2"]);

これがあなたのpythonスクリプトです:

import json

# define your data you want in your javascript variable
my_data = {'field1': 'string value', 'field2': 100}

# open an existing script that is ready to use the my_js_data variable
# we are about to generate
js = open('javascript.js', 'r')

# dynamically generate javascript code
javascript_out = "var my_js_data = JSON.parse('{}');".format(json.dumps(my_data))
javascript_out += js.read()

これで、Python の javascript_out 変数は次のような文字列になります。

var my_js_data = JSON.parse('{"field1": "string value", "field2": 100}');

alert(my_js_data["field1"]);
alert(my_js_data["field2"]);

詳細なコンテキストがなければ、javascript_out 変数をどうするかを正確に説明することはできませんが、HTML の適切な場所に含める必要があります。

my_js_data 変数が定義されないため、javascript.js ファイルは Python スクリプトなしでは機能しないことに注意してください。

  1. Javascript にサーバーへの別の HTTP (ajax) リクエストを作成させます。これにより、データとともに JSON 文字列が返されます。
于 2016-12-04T04:59:19.713 に答える