GNU/Linux >> Linux Esercitazione >  >> Linux

Chiamare il sistema operativo per aprire l'URL?

Personalmente non lo farei usa il webbrowser modulo.

È un pasticcio complicato di sniffing per determinati browser, che non troverà il browser predefinito dell'utente se ne ha più di uno installato e non troverà un browser se non ne conosce il nome (ad esempio Chrome).

Meglio su Windows è semplicemente usare il os.startfile funzione, che funziona anche su un URL. Su OS X, puoi usare il open comando di sistema. Su Linux c'è xdg-open , un comando standard di freedesktop.org supportato da GNOME, KDE e 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

Ciò offrirà una migliore esperienza utente sulle piattaforme tradizionali. Potresti ricorrere a webbrowser su altre piattaforme, forse. Anche se molto probabilmente sei su un sistema operativo oscuro/insolito/incorporato in cui nessuno dei precedenti funziona, le probabilità sono webbrowser fallirà anche.


Ecco come aprire il browser predefinito dell'utente con un determinato URL:

import webbrowser

url = "https://www.google.com/"

webbrowser.open(url, new=0, autoraise=True)

Ecco la documentazione su questa funzionalità. Fa parte delle stdlibs di Python:

http://docs.python.org/library/webbrowser.html

L'ho testato con successo su Linux, Ubuntu 10.10.


Linux
  1. Interroga il tuo sistema operativo Linux come un database

  2. Come posso controllare il sistema operativo in Python?

  3. Annulla una chiamata di sistema con ptrace()

  4. Chiamata di sistema Intel x86 vs x64

  5. Che cos'è un contenitore Linux e un hypervisor Linux?

Prova Linux su qualsiasi sistema operativo con VirtualBox

Sistema operativo Redox:un sistema operativo scritto in Rust

Introduzione al sistema operativo Linux

Linux è un sistema operativo o un kernel?

Open Source vs. Sorgente chiusa

Windows vs MacOS vs Linux – Manuale del sistema operativo