Answer a question

I am doing some file processing and for generating the file i need to generate some temporary file from existing data and then use that file as input to my function.

But i am confused where should i save that file and then delete it.

Is there any temp location where files automatically gets deleted after user session

Answers

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
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐