How to generate temporary file in django and then destroy

Python has the tempfile module for exactly this purpose. You do not need to worry about the location/deletion of the file, it works on all supported platforms.

There are three types of temporary files:

  • tempfile.TemporaryFile – just basic temporary file,
  • tempfile.NamedTemporaryFile – “This function operates exactly as TemporaryFile() does, except that the file is guaranteed to have a visible name in the file system (on Unix, the directory entry is not unlinked). That name can be retrieved from the name attribute of the file object.“,
  • tempfile.SpooledTemporaryFile – “This function operates exactly as TemporaryFile() does, except that data is spooled in memory until the file size exceeds max_size, or until the file’s fileno() method is called, at which point the contents are written to disk and operation proceeds as with TemporaryFile().“,

EDIT: The example usage you asked for could look like this:

>>> with TemporaryFile() as f:
        f.write('abcdefg')
        f.seek(0)  # go back to the beginning of the file
        print(f.read())

    
abcdefg

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)