Pass Variable Into Applescript From Python
Can someone show me how to pass a variable into an Applescript using osascript in python?  I've seen some documentation/samples on doing this but I'm not understanding it at all.
Solution 1:
String concatenation with the + operator
myPythonVariable = 10cmd = """
    osascript -e '
    tell application "System Events"
        set activeApp to name of first application process whose frontmost is true
        if "MyApp" is in activeApp then
            set stepCount to """ + str(myPythonVariable) + """
            repeat with i from 1 to stepCount
                -- do something
            end repeat
        end if
    end tell
    '
    """Or, string formatting with the {} :
myPythonVariable = 10cmd = """
    osascript -e '
    tell application "System Events"
        set activeApp to name of first application process whose frontmost is true
        if "MyApp" is in activeApp then
            set stepCount to {0}
            repeat with i from 1 to stepCount
                -- do something
            end repeat
        end if
    end tell
    '
    """.format(myPythonVariable)
{0} is the place-holder for the first variable, {1} is the place-holder for the second variable, ....
For multiple variables:
.format(myPythonVariable, var2, var3)
Or, string formatting with the %s operator
myPythonVariable = 10cmd = """
    osascript -e '
    tell application "System Events"
        set activeApp to name of first application process whose frontmost is true
        if "MyApp" is in activeApp then
            set stepCount to %s
            repeat with i from 1 to stepCount
                -- do something
            end repeat
        end if
    end tell
    '
    """ % myPythonVariable
For multiple variables:
% (myPythonVariable, var2, var3)
Post a Comment for "Pass Variable Into Applescript From Python"