Python から Shell 経由で Apple Script のコードを使う。
Pythonファイル(test.py)
import subprocess
if __name__ == '__main__':
cmd = "/usr/bin/osascript /applescript/test.scpt 123"
rtn = subprocess.check_output(cmd.split()).decode('utf-8')
print(rtn)
・os モジュール も使えるが非推奨なので、subprocess を使う。
・shellコマンド は半角スペース単位で、配列にして設定する。
・返り値はバイト文字列なのでデコードする。
Apple Script ファイル(test.scpt)
use scripting additions
on run argv
set test1 to ""
if (count of argv) > 0 then
-- 引数ありの場合の処理
set test1 to (item 1 of argv)
else
-- 引数なしの場合の処理
end if
return "test = " & test1
end run
Pythonファイルの表示結果
test = 123