从python将变量传递到AppleScript [英] Pass variable into AppleScript from python
问题描述
有人可以告诉我如何使用python中的osascript将变量传递到Applescript吗?我已经看到了一些有关此操作的文档/样本,但我完全不了解.
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.
这是我的python代码:
Here is my python code:
# I want to pass this value into my apple script below
myPythonVariable = 10
cmd = """
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 myPythonVariableIPassIn
repeat with i from 1 to stepCount
DoStuff...
end repeat
end if
end tell
'
"""
os.system(cmd)
推荐答案
使用 + 运算符
myPythonVariable = 10
cmd = """
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 = 10
cmd = """
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} 是第一个变量的占位符, {1} 是第二个变量....
{0} is the place-holder for the first variable, {1} is the place-holder for the second variable, ....
对于多个变量:
.format(myPythonVariable,var2,var3)
.format(myPythonVariable, var2, var3)
或者,使用%s 运算符
Or, string formatting with the %s operator
myPythonVariable = 10
cmd = """
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
对于多个变量:
%(myPythonVariable,var2,var3)
% (myPythonVariable, var2, var3)
这篇关于从python将变量传递到AppleScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!