在 Python 中使用 webbrowser 显示临时 html 文件

Pas*_*ten 5 python temporary-files

真的很简单,我想创建一个临时的 html 页面,用通常的 webbrowser 显示。

为什么下面的代码会产生一个空页面?

import tempfile 
import webbrowser 
import time

with tempfile.NamedTemporaryFile('r+', suffix = '.html') as f:
    f.write('<html><body><h1>Test</h1></body></html>') 
    webbrowser.open('file://' + f.name) 
    time.sleep(1) # to prevent the file from dying before displayed
Run Code Online (Sandbox Code Playgroud)

Ale*_*nov 5

因为您的文件不存在于磁盘上并且完全位于内存中。这就是为什么浏览器启动但没有打开任何内容,因为没有提供代码。

尝试这个:

#!/usr/bin/python

import tempfile 
import webbrowser 

tmp=tempfile.NamedTemporaryFile(delete=False)
path=tmp.name+'.html'

f=open(path, 'w')
f.write("<html><body><h1>Test</h1></body></html>")
f.close()
webbrowser.open('file://' + path)
Run Code Online (Sandbox Code Playgroud)