tempfile NamedTemporaryFile


modemode to open file, default=w+b
deleteTo delete file on closure, default=True
suffixfilename suffix, default=''
prefixfilename prefix, default='tmp'
dirdirname to place tempfile, default=None
buffsizedefault=-1, (operating system default used)

Create (and write to a) known, persistant temporary file

You can create temporary files which has a visible name on the file system which can be accessed via the name property. The file can, on unix systems, be configured to delete on closure (set by delete param, default is True) or can be reopened later.

The following will create and open a named temporary file and write 'Hello World!' to that file. The filepath of the temporary file can be accessed via name, in this example it is saved to the variable path and printed for the user. The file is then re-opened after closing the file and the contents of the tempfile are read and printed for the user.

import tempfile

with tempfile.NamedTemporaryFile(delete=False) as t:
    t.write('Hello World!')
    path = t.name
    print path

with open(path) as t:
    print t.read()


Hello World!