0

MELで作成されたボタンを使用してPython関数を起動しようとしています。だから私はドキュメントを正しく理解しているかどうかを知りたかったので、単純な印刷呼び出しを使用して、私の仮定で正しくないかどうかをテストしました。これは私が試したものです:

button -label "TransX" -w 100 -c python ("print 'Hello You!'");

ただし、これはまったく発生しません(または、発生した場合は、スクリプトエディタで印刷するのとは異なる動作をします:/)

私にとってさらに興味深いのは、次のようにダニで包んだ場合です。

button -label "TransX" -w 100 -c `python ("print 'Hello You!'")`;

ボタンを押している間ではなく、すぐに(調達時に)発火しました。誰かがその振る舞いを説明できれば、それは素晴らしいことです。

つまり、要約すると次のようになります。1. melを適切に使用してPython関数を実行するにはどうすればよいですか?2.ダニのラッピングがPythonをすぐに起動するのはなぜですか?

あなたの助けのためのThx:)

4

1 に答える 1

1

バッククォートを使用すると、実行中にコンテンツが評価されるため、実行するとすぐに print ステートメントが表示されます

「-c」フラグへの引数を適切にエンコードしていないため、最初のコマンドは機能しません。次のようにする必要があります。

button -label "TransX" -w 100 -c "python(\"print hello\");";

このようにして、引用符の間のすべてが「ボタン」コマンドに渡され、「-c」フラグで使用されます。そのため、内側の引用符をエスケープする必要があるため、ボタン コマンドがそれを評価すると、次のように評価されます。

python("print hello");
于 2012-05-08T05:58:56.463 に答える