我可以使用什么来调用操作系统以在用户默认使用的任何浏览器中打开 URL?不担心跨操作系统兼容性;如果它在 linux 中工作,那对我来说就足够了!
原文由 Bolster 发布,翻译遵循 CC BY-SA 4.0 许可协议
我可以使用什么来调用操作系统以在用户默认使用的任何浏览器中打开 URL?不担心跨操作系统兼容性;如果它在 linux 中工作,那对我来说就足够了!
原文由 Bolster 发布,翻译遵循 CC BY-SA 4.0 许可协议
就我个人而言,我真的 不会 使用 webbrowser
模块。
对特定浏览器的嗅探是一个复杂的混乱,如果他们安装了多个浏览器,它将找不到用户的默认浏览器,如果它不知道它的名称(例如 Chrome),它将找不到浏览器。
在 Windows 上更好的是简单地使用 os.startfile
函数,该函数也适用于 URL。在 OS X 上,您可以使用 open
系统命令。在 Linux 上有 xdg-open
,这是 GNOME、KDE 和 XFCE 支持的 freedesktop.org 标准命令。
if sys.platform=='win32':
os.startfile(url)
elif sys.platform=='darwin':
subprocess.Popen(['open', url])
else:
try:
subprocess.Popen(['xdg-open', url])
except OSError:
print 'Please open a browser on: '+url
这将在主流平台上提供更好的用户体验。也许您可以在其他平台上回退到 webbrowser
。虽然最有可能的是,如果您使用的是上述任何一项都不起作用的晦涩/不寻常/嵌入式操作系统,但很可能 webbrowser
也会失败。
原文由 bobince 发布,翻译遵循 CC BY-SA 2.5 许可协议
7 回答5.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
4 回答3.8k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
以下是使用给定 url 打开用户默认浏览器的方法:
这是有关此功能的文档。它是 Python 标准库的一部分:
http://docs.python.org/library/webbrowser.html
我已经在 Linux Ubuntu 10.10 上成功测试了这个。