开放和使用Safari

2024-03-29 09:08:33 发布

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

我对mac世界还比较陌生。我的问题是在mac osx上打开一个使用python的应用程序。从我目前所发现的情况来看,似乎应用程序是以实际目录的应用程序格式存储的。打开应用程序时,操作系统是否以某种方式解析了这些内容?我想使用python打开Safari,它位于my/Applications/Safari.app目录中。是否有一个特定的二进制文件应该传递给os.system,或者应该以完全不同的方式来处理它?我的最终目标是让safari打开一个本地html文件,关闭它,然后打开另一个本地html文件。

谢谢, -约翰


Tags: 文件目录应用程序内容mymachtml格式
1条回答
网友
1楼 · 发布于 2024-03-29 09:08:33

这对我有效:

os.system("open /Applications/Safari.app http://www.google.com")
网友
2楼 · 发布于 2024-03-29 09:08:33

os.system(“open-a/Applications/Safari.apphttp://www.google.com”) 当safari不是默认的add-a after open时,这个方法可以工作。 还不能评论(声誉低于50(:)

网友
3楼 · 发布于 2024-03-29 09:08:33

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为您提供了坚实的基础。

相关问题 更多 >