Personnellement, je ne le ferais vraiment pas utilisez le webbrowser
module.
C'est un gâchis compliqué de reniflage pour des navigateurs particuliers, qui ne trouveront pas le navigateur par défaut de l'utilisateur s'ils en ont plus d'un installé, et ne trouveront pas un navigateur s'il n'en connaît pas le nom (par exemple Chrome).
Mieux sur Windows est simplement d'utiliser le os.startfile
fonction, qui fonctionne également sur une URL. Sur OS X, vous pouvez utiliser le open
commande système. Sous Linux, il y a xdg-open
, une commande standard de freedesktop.org prise en charge par GNOME, KDE et 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
Cela offrira une meilleure expérience utilisateur sur les plates-formes grand public. Vous pourriez revenir à webbrowser
sur d'autres plates-formes, peut-être. Bien que très probablement si vous êtes sur un système d'exploitation obscur/inhabituel/intégré où aucun des éléments ci-dessus ne fonctionne, les chances sont webbrowser
échouera aussi.
Voici comment ouvrir le navigateur par défaut de l'utilisateur avec une URL donnée :
import webbrowser
url = "https://www.google.com/"
webbrowser.open(url, new=0, autoraise=True)
Voici la documentation sur cette fonctionnalité. Cela fait partie des stdlibs de Python :
http://docs.python.org/library/webbrowser.html
J'ai testé cela avec succès sur Linux, Ubuntu 10.10.