我对 Mac 世界还比较陌生。我的问题涉及在 mac osx 上使用 python 打开应用程序。从目前我所发现的情况来看,应用程序似乎以实际上是目录的应用程序格式存储。打开应用程序时,操作系统是否以某种方式解析了这些?我想使用 python 打开 Safari,它在我的/Applications/Safari.app 目录中。我应该将特定的二进制文件传递给 os.system 还是应该以完全不同的方式处理它?我的最终目标是让 safari 打开一个本地 html 文件,关闭它然后打开另一个本地 html 文件。
谢谢, -约翰
最佳答案
Python 标准库包括 webbrowser允许您以独立于平台的方式打开新的浏览器窗口或选项卡的模块。如果它是用户的默认值,它确实支持 OS X 上的 Safari:
>>> import webbrowser
>>> webbrowser.open("http://stackoverflow.com")
但是webbrowser
不支持关闭浏览器窗口。对于该级别的控制,您最好通过安装 py-appscript 使用 Safari 的 Apple 事件脚本界面。 .
>>> from appscript import *
>>> safari = app("Safari")
>>> safari.make(new=k.document,with_properties={k.URL:"http://stackoverflow.com"})
>>> safari.windows.first.current_tab.close()
如果您只想更改您打开的选项卡中显示的网页:
>>> safari.windows.first.current_tab.URL.set("http://www.google.com")
>>> safari.windows.first.current_tab.URL.set("http://www.python.com")
Safari 的 Apple Events 界面有点不直观(不幸的是,这在 Mac 应用程序中并不罕见)。如果您需要做更复杂的事情,可以引用。但是 Python 和 py-appscript 为您提供了坚实的工作基础。
关于python - 打开和使用 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4752473/