如何在Python脚本中运行AppleScript?

GJ.*_*GJ. 6 python macos applescript

如何在Python脚本中运行AppleScript?

问题说明了一切..(显然在Mac上)

Ale*_*lli 11

这篇好文章提出了简单的解决方案

cmd = """osascript -e 'tell app "Finder" to sleep'"""
def stupidtrick():
    os.system(cmd)
Run Code Online (Sandbox Code Playgroud)

虽然今天你使用的是subprocess模块而不是os.system.

请务必查看文章的第2页以获取更多信息和选项,包括appscript.

  • 你是什​​么意思"它不再受支持了"? (3认同)

ccp*_*zza 5

一个subprocess它允许运行的苹果原装脚本原样,而不必逃避的报价和其他字符,这可能会非常棘手的版本.它是这里找到的脚本的简化版本,它也可以进行参数化和正确的转义(Python 2.x).

import subprocess

script = '''tell application "System Events"
    activate
    display dialog "Hello Cocoa!" with title "Sample Cocoa Dialog" default button 2
end tell
'''

proc = subprocess.Popen(['osascript', '-'],
                        stdin=subprocess.PIPE,
                        stdout=subprocess.PIPE)
stdout_output = proc.communicate(script)[0]
print stdout_output
Run Code Online (Sandbox Code Playgroud)

注意:如果您需要使用相同的Popen实例执行多个脚本,那么您将需要显式写入proc.stdin.write(script)和读取,proc.stdout.read()因为communicate()将关闭输入和输出流.