python中的webbrowser.open()

时间:2014-02-25 04:20:40

标签: python html

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

所以我写了

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

但是在执行.py文件后没有任何反应。如果我改为输入代码

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

Safari会在执行代码时打开谷歌首页。

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

2 个答案:

答案 0 :(得分:45)

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

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

答案 1 :(得分:7)

使用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)