Python能在Mac上打开一个应用程序并执行动作吗?

2024-05-15 04:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让我的代码打开facetime并打电话给某人 我目前可以使用打开程序 导入子流程 subprocess.call([“/usr/bin/open”、“-W”、“-n”、“-a”、“/Applications/Facetime.app“]),但我想更进一步,使通话自动化。在


Tags: 代码程序appbinusr流程opencall
1条回答
网友
1楼 · 发布于 2024-05-15 04:17:33
Dr:太长了,读不下去了:你可能想这样做:<
subprocess.call(["/usr/bin/open", "-W", "-n", "-a", "/Applications/Facetime.app",
                 "tel://{}".format(number)])

或者,如果您希望它只进行音频调用,请在末尾添加&audio=yes。在


只有少数应用程序有命令行工具来控制它们。许多macOS应用程序都有一个强大的脚本接口,可以由Automator和/或AppleScript使用,但很容易从Python中使用,但FaceTime没有。即使是用鼠标和FaceTime来模拟用户界面,你也很痛苦。在

但是FaceTime知道如何处理telURL方案。因此,如果您从open命令(或SystemEvents脚本接口、Automator或Safari等)递给它tel://8675309,它将拨打8675309。在

嗯,实际上,默认情况下,它不会拨号码,它会弹出一个对话框,询问你是否要拨打与你在电子邮件或便笺中单击电话号码相同的号码。据我所知,你不能从主叫端改变这一点,只需设置一个全局首选项,即始终拨号而不弹出该对话框。我认为从10.8左右就隐藏了对改变的偏好。(我敢打赌Ask Different有一个关于如何更改它的当前信息的问题,但我不知道它是什么。)


顺便说一句,如果你只是open tel://8675309而不指定应用程序,它将打开任何默认的tel处理程序,通常是FaceTime,但有时是Skype,或Google Voice的旧版本,或其他各种第三方程序将接管它。因此,如果您希望脚本在更改默认设置时切换到Skype,请不要使用-a位;如果您想无论如何都要使用FaceTime,请保持启用状态。在

相关问题 更多 >

    热门问题