'Create an empty file if necessary.
This method will not initialize the file. Instead it implements a
simple version of "touch" to ensure the file has been created.'

def _create_file_if_needed(self):

    if (not os.path.exists(self._file.filename())):
        old_umask = os.umask(127)
        try:
            open(self._file.filename(), 'a+b').close()
        finally:
            os.umask(old_umask)
