On 21.02.13 22:46, Jason Friedman wrote:
Python 3.2.2 (default, Feb 14 2012, 08:06:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
from tempfile import NamedTemporaryFile
f = NamedTemporaryFile(delete=False)
f
<tempfile._TemporaryFileWrapper object at 0x7f867e8bc050>
f.name
'/tmp/tmpqxnd_4'
f.write("Hello World!\n")
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: 'str' does not support the buffer interface

Or, maybe I am reading the documentation incorrectly.  My goal is to
be able to write to that temporary file along the lines of "f.write()"
or "with open(f) as writer ...".

NamedTemporaryFile by default opens a file in binary mode ('w+b'). Write bytes or specify text mode.

>>> f.write(b"Hello World!\n")
13
>>> ft = NamedTemporaryFile('w+', delete=False)
>>> ft.write("Hello World!\n")
13


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to