webbrowser.open() in Python

Lesezeit: 1 Minute

Ich habe eine Python-Datei html_gen.py die ein neues schreiben html Datei index.html im selben Verzeichnis, und möchte die öffnen index.html wenn das Schreiben fertig ist.

Also schrieb ich

import webbrowser
webbrowser.open("index.html");

Aber nach dem Ausführen der .py-Datei passiert nichts. Wenn ich stattdessen einen Code einfüge

webbrowser.open("http://www.google.com")

Safari öffnet die Google-Startseite, wenn der Code ausgeführt wird.

Ich frage mich, wie ich die lokale index.html-Datei öffnen kann.

  • Siehe diese Antwort: stackoverflow.com/a/5943706/771848

    – Alekse

    25. Februar 2014 um 4:27 Uhr

  • erhalten Sie eine Fehlermeldung, wenn Sie builtin aufrufen open('index.html') ? Es prüft, ob Sie die Datei zum Lesen öffnen können.

    – jfs

    25. Februar 2014 um 6:03 Uhr

  • Kann auf Python 2.7.6, Ubuntu 14.04, Firefox 47 nicht reproduziert werden.

    – Ciro Santilli Путлер Капут 六四事

    4. August 2016 um 13:05 Uhr


  • webbrowser.open(‘index.html’, new=2, autoraise=True) funktioniert gut, bricht das Semikolon es?

    – Harley

    9. Mai 2020 um 2:31 Uhr

Benutzer-Avatar
Al Schweigart

Versuchen Sie, “file://” am Anfang der URL anzugeben. Verwenden Sie außerdem den absoluten Pfad der Datei:

import webbrowser, os
webbrowser.open('file://' + os.path.realpath(filename))

  • Hinweis: Damit dies funktioniert, muss das Python-Modul os importiert werden: import os

    – Josef Wahr

    23. August 2017 um 16:26 Uhr

Benutzer-Avatar
falschwahr

Konvertieren Sie den Dateinamen in eine URL mit urllib.pathname2url:

import os
try:
    from urllib import pathname2url         # Python 2.x
except:
    from urllib.request import pathname2url # Python 3.x

url="file:{}".format(pathname2url(os.path.abspath('1.html')))
webbrowser.open(url)

1158120cookie-checkwebbrowser.open() in Python

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy