yves wrote:
> Hello tutors,
>
> This programm works:
> **********
> import webbrowser
> a = open('test.htm','wb')
> a.write("<html>Test</html>")
> webbrowser.open(a.name)
> a.close()
> ***********
> but I would like to avoid the risk of overwriting an already existing
> "test.htm" file, so I try to use the module tempfile:
> ***********
> import tempfile
> import webbrowser
> a = tempfile.NamedTemporaryFile('w+b',-1,'.html')
> a.write("<html>Test</html>")
> webbrowser.open(a.name)
> #a.close()
> **********
> This does not work (no traceback error though): the browser displays a
> blank page.

The problem is that the file is never actually written because you omit 
the close. But when you do close the temp file, it is deleted. Try using 
a.flush() instead of a.close(), that will force the file to be written. 
Alternately use tempfile.mkstemp() which lets you close the file and 
delete it when you are done with it.

Kent

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to