Osobně bych to opravdu neudělal použijte webbrowser
modul.
Je to složitá změť čichání konkrétních prohlížečů, které nenajdou výchozí prohlížeč uživatele, pokud jich má nainstalováno více, a nenajde prohlížeč, pokud nezná jeho název (např. Chrome).
V systému Windows je lepší jednoduše použít os.startfile
funkce, která funguje také na URL. V OS X můžete použít open
systémový příkaz. V systému Linux existuje xdg-open
, standardní příkaz freedesktop.org podporovaný GNOME, KDE a XFCE.
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
To poskytne lepší uživatelský zážitek na běžných platformách. Můžete se vrátit k webbrowser
možná na jiných platformách. Ačkoli nejpravděpodobnější je, že pokud používáte nejasný/neobvyklý/vložený operační systém, kde nic z výše uvedeného nefunguje, je pravděpodobné, že webbrowser
také selže.
Zde je návod, jak otevřít výchozí prohlížeč uživatele s danou adresou URL:
import webbrowser
url = "https://www.google.com/"
webbrowser.open(url, new=0, autoraise=True)
Zde je dokumentace o této funkci. Je součástí stdlibs Pythonu:
http://docs.python.org/library/webbrowser.html
Úspěšně jsem to testoval na Linuxu, Ubuntu 10.10.