python中的webbrowser.open()

Lel*_*uch 31 html python

我有一个python文件html_gen.py,它在同一目录中写一个新html文件index.html,并希望index.html在写完成时打开它.

所以我写了

import webbrowser
webbrowser.open("index.html");
Run Code Online (Sandbox Code Playgroud)

但是在执行.py文件后没有任何反应.如果我改为放一个代码

webbrowser.open("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)

Safari将在执行代码时打开谷歌首页.

我想知道如何打开本地index.html文件?

Al *_*art 49

尝试在URL的开头指定"file://".另外,使用文件的绝对路径:

import webbrowser, os
webbrowser.open('file://' + os.path.realpath(filename))
Run Code Online (Sandbox Code Playgroud)

  • 注意:需要导入 Python os 模块才能工作:import os (3认同)

fal*_*tru 7

使用urllib.pathname2url以下命令将文件名转换为url :

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)
Run Code Online (Sandbox Code Playgroud)