Crie com segurança um arquivo se e somente se ele não existir com python

Eu gostaria de escrever para um arquivo baseado em se esse arquivo já existe ou não, apenas escrevendo se ele ainda não existe (na prática, eu quero continuar tentando arquivos até encontrar um que não existe).

O código a seguir mostra uma maneira em que um invasor potencialmente poderia inserir um symlink, como sugerido emesta postagem entre um teste para o arquivo e o arquivo sendo gravado. Se o código for executado com permissões suficientemente altas, isso poderá substituir um arquivo arbitrário.

Existe alguma maneira 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')

questionAnswers(2)

yourAnswerToTheQuestion