NamedTemporaryFile does not match documentation
Serhiy Storchaka
storchaka at gmail.com
Thu Feb 21 16:30:00 EST 2013
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
More information about the Python-list
mailing list