Skip to content
Advertisement

Calling AppleScript from Python without using osascript or appscript?

Is there any way to execute (and obtain the results of) AppleScript code from python without using the osascript command-line utility or appscript (which I don’t really want to use (I think?) because it’s no longer developed/supported/recommended)?

Rationale: in another question I’ve just posted, I describe a strange/undesired behaviour I’m experiencing with running some AppleScript via osascript. As I’m actually calling it from a python script, I wondered if there was a way to route around osascript altogether, since that seems to be where the problem lies – but appscript (the obvious choice?) looks risky now…

Advertisement

Answer

You can use the PyObjC bridge:

>>> from Foundation import *
>>> s = NSAppleScript.alloc().initWithSource_("tell app "Finder" to activate")
>>> s.executeAndReturnError_(None)
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement