GNU/Linux >> Tutoriels Linux >  >> Linux

Appel au système d'exploitation pour ouvrir l'URL ?

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.


Linux
  1. Max fichiers ouverts pour le processus de travail

  2. Que fait l'appel système brk() ?

  3. Annuler un appel système avec ptrace()

  4. Appel système Intel x86 vs x64

  5. Appel système Linux le plus rapide

Essayez Linux sur n'importe quel système d'exploitation avec VirtualBox

Redox OS :un système d'exploitation écrit en Rust

Premiers pas avec le système d'exploitation Linux

Linux est-il un système d'exploitation ou un noyau ?

Open Source Vs. Source fermée

Windows vs MacOS vs Linux - Manuel du système d'exploitation