GNU/Linux >> Znalost Linux >  >> Linux

Volat do operačního systému pro otevření adresy URL?

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.


Linux
  1. Naplánujte restartování v operačním systému Ubuntu

  2. Tabulka systémových volání Linux nebo cheatsheet pro shromáždění

  3. Zrušit systémové volání pomocí ptrace()

  1. Dotazujte se na svůj operační systém Linux jako na databázi

  2. Systémové volání Intel x86 vs x64

  3. Co je to linuxový kontejner a linuxový hypervizor?

  1. Můj příběh o Linuxu:Pokrytí open source ve španělštině

  2. MuditaOS:Krásný a minimální mobilní operační systém s otevřeným zdrojovým kódem pro běžné telefony

  3. Maximální počet otevřených souborů pro pracovní proces