Вызов AppleScript из Python без использования osascript или appscript?

Есть ли способ выполнить (и получить результат) код AppleScript из python без использования osascript командной строки osascript или applicationcript (которую я действительно не хочу использовать (я думаю?), Потому что он больше не разработан / не поддерживается / рекомендуется )?

Обоснование: в другом вопросе, который я только что опубликовал , я описываю странное / нежелательное поведение, которое я испытываю при запуске некоторого AppleScript через osascript . Поскольку я на самом деле вызываю его из сценария python, я задавался вопросом, есть ли способ полностью маршрутизировать вокруг osascript , так как это похоже на то, где проблема, но applicationcript (очевидный выбор?) Выглядит сейчас рискованным …

  • MySQLdb для Python не может найти libmysqlclient.dylib с Homebrewed MySQL
  • Как отправить значение HTTP POST на страницу (PHP) с помощью Python?
  • Как получить прозрачный фон в окне с PyGTK и PyCairo?
  • Использование argparse с функцией, которая принимает аргумент ** kwargs
  • ImportError: невозможно импортировать имя inplace_column_scale
  • Есть ли хороший способ сделать этот тип добычи?
  • Как читать несколько файлов и объединять их в один кадр данных pandas?
  • Удаление стоп-слова с помощью NLTK
  • 2 Solutions collect form web for “Вызов AppleScript из Python без использования osascript или appscript?”

    Вы можете использовать мост PyObjC:

     >>> from Foundation import * >>> s = NSAppleScript.alloc().initWithSource_("tell app \"Finder\" to activate") >>> s.executeAndReturnError_(None) 

    PyPI – ваш друг …

    http://pypi.python.org/pypi/py-applescript

    Пример:

     import applescript scpt = applescript.AppleScript(''' on run {arg1, arg2} say arg1 & " " & arg2 end run on foo() return "bar" end foo on Baz(x, y) return x * y end bar ''') print(scpt.run('Hello', 'World')) #-> None print(scpt.call('foo')) #-> "bar" print(scpt.call('Baz', 3, 5)) #-> 15 
    Python - лучший язык программирования в мире.