Cree un archivo de forma segura si y solo si no existe con python

Deseo escribir en un archivo según si ese archivo ya existe o no, solo escribir si no existe (en la práctica, deseo seguir probando archivos hasta que encuentre uno que no existe).

El siguiente código muestra una forma en la que un atacante potencial podría insertar un enlace simbólico, como se sugiere enesta publicación entre una prueba para el archivo y el archivo que se está escribiendo. Si el código se ejecuta con permisos suficientemente altos, esto podría sobrescribir un archivo arbitrario.

¿Hay alguna manera de resolver este problema?

import os
import errno

file_to_be_attacked = 'important_file'

with open(file_to_be_attacked, 'w') as f:
    f.write('Some important content!\n')

test_file = 'testfile'

try:
    with open(test_file) as f: pass
except IOError, e:

    # symlink created here
    os.symlink(file_to_be_attacked, test_file)

    if e.errno != errno.ENOENT:
        raise
    else:
        with open(test_file, 'w') as f:
            f.write('Hello, kthxbye!\n')

Respuestas a la pregunta(2)

Su respuesta a la pregunta