2016-10-31 6 views
0

私はPythonスクリプトを起動するためのAppleScriptを持っています。 pythonスクリプトは整数を計算します。 結果を整数または文字列としてAppleScriptに返すことはできますか?あなたはこのようなアップルスクリプトから実行するPythonスクリプトから値を返すことができるはずAppleScript - Pythonから返す

THX

+1

でシェルスクリプトを実行する使用して、コードの例を与えることはできますか? –

答えて

1

scriptResultは、その後から、例えば(stdoutに提供される任意の出力に設定されている
set scriptResult to do shell script ("python path/to/script.py") 

printステートメント)をPythonスクリプトに追加します。したがって、あなたのPythonスクリプトでは、簡単に:

print yourInteger 

となり、scriptResultは[integer]に設定されます。 scriptResultはすべてのstdoutに設定されているので、ここにあなたが印刷するものすべてが含まれることに注意してください。またscriptResult数作るためにあなたのAppleScriptでは、いくつかの鋳造を行う必要がある場合があります。

set scriptResult to (do shell script ("python path/to/script.py")) as integer 
同じジャンルで
+0

OPの特定のユースケースには関係ありませんが、 'do shell script'はUTF8エンコーディングを使用しているので、Pythonコードでは別のものを扱う際に' encode() '/' decode() ASCII strs。 – foo

+0

それは私のために働いていない! :/ エラー "python:ファイルを開くことができません '[/Users/Usr/Desktop/xMail.py]':[Errno 2]そのようなファイルやディレクトリはありません" number 2 – Moe

+0

ブラケットを紛失します。スクリプトに何かを挿入するかを指定します。 – matthewjselby

0

直接スクリプトのpython

set xy to do shell script "echo 'import sys, time; from Quartz.CoreGraphics import * 
def mouseEvent(type, posx, posy): theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft); CGEventPost(kCGHIDEventTap, theEvent); 
def mouseclickdn(posx,posy): mouseEvent(kCGEventLeftMouseDown, posx,posy); 
def mouseclickup(posx,posy): mouseEvent(kCGEventLeftMouseUp, posx,posy); 
ourEvent = CGEventCreate(None); currentpos = CGEventGetLocation(ourEvent); print currentpos[0]; print currentpos[1]; mouseclickdn(currentpos.x, currentpos.y); 
mouseclickup(currentpos.x, currentpos.y);' | python " 

set xy to do shell script "echo " & xy 
関連する問題