Bol*_*ter 65 python url operating-system system-calls
我可以使用什么来调用操作系统在用户默认的任何浏览器中打开URL?不担心跨操作系统兼容性; 如果它在linux中工作对我来说足够了!
kob*_*ien 105
以下是如何使用给定的URL打开用户的默认浏览器:
import webbrowser
webbrowser.open(url[, new=0[, autoraise=True]])
Run Code Online (Sandbox Code Playgroud)
以下是有关此功能的文档.它是Python的stdlibs的一部分:
http://docs.python.org/library/webbrowser.html
我已经在Linux,Ubuntu 10.10上成功测试了这个.
bob*_*nce 32
我个人真的不会使用该webbrowser
模块.
对于特定浏览器来说,这是一个复杂的嗅探,如果用户安装了多个浏览器,将无法找到用户的默认浏览器,如果不知道其名称(例如Chrome),则无法找到浏览器.
更好的Windows只是使用该os.startfile
功能,该功能也适用于URL.在OS X上,您可以使用open
system命令.在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
Run Code Online (Sandbox Code Playgroud)
这将在主流平台上提供更好的用户体验.webbrowser
也许你可以回到其他平台上.虽然你很可能在一个不起作用/不寻常/嵌入式操作系统的情况下,上述工作都没有,但是很webbrowser
可能也会失败.
然后如何混合@kobrien和@bobince的代码:
import subprocess
import webbrowser
import sys
url = 'http://test.com'
if sys.platform == 'darwin': # in case of OS X
subprocess.Popen(['open', url])
else:
webbrowser.open_new_tab(url)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55130 次 |
最近记录: |