Подтвердить что ты не робот

Webbrowser.open() в python

У меня есть файл python html_gen.py, который пишет новый html файл index.html в том же каталоге и хотел бы открыть index.html, когда запись закончена.

Итак, я написал

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

Но ничего не происходит после выполнения .py файла. Если я вместо этого поставлю код

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

Safari откроет переднюю страницу google при выполнении кода.

Интересно, как открыть локальный файл index.html?

4b9b3361

Ответ 1

Попробуйте указать "файл://" в начале URL-адреса. Также используйте абсолютный путь файла:

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

Ответ 2

Преобразуйте имя файла в url, используя 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)