python创建一个字符串变量 apple is,从python将变量传递到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.

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)

解决方案

String concatenation with the + 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 """ + 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} 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 = 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

For multiple variables:

% (myPythonVariable, var2, var3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值