The tempfile Module

The tempfile module in Example 2-6 allows you to quickly come up with unique names to use for temporary files.

Example 2-6. Using the tempfile Module to Create Filenames for Temporary Files

File: tempfile-example-1.py import tempfile import os tempfile = tempfile.mktemp() print "tempfile", "=>", tempfile file = open(tempfile, "w+b") file.write("*" * 1000) file.seek(0) print len(file.read()), "bytes" file.close() try: # must remove file when done os.remove(tempfile) except OSError: pass tempfile => C:TEMP~160-1 1000 bytes

The TemporaryFile function picks a suitable name and opens the file, as shown in Example 2-7. It also makes sure that the file is removed when it's closed. (On Unix, you can remove an open file and have it disappear when the file is closed. On other platforms, this is done via a special wrapper class.)

Example 2-7. Using the tempfile Module to Open Temporary Files

File: tempfile-example-2.py import tempfile file = tempfile.TemporaryFile() for i in range(100): file.write("*" * 100) file.close() # removes the file!

Категории