Wie funktioniert die Verwendung von try-Anweisung vermeiden Sie eine race-condition?

Bei der Bestimmung, ob eine Datei vorhanden ist, wie wirkt sich die Verwendung von try-Anweisung vermeiden Sie eine "race condition"?

Ich Frage deshalb, weil ein hoch von Ihnen positiv bewertet werden Antwort (update: es wurde gelöscht) scheint zu implizieren, dass die Verwendung os.path.exists() schafft eine Möglichkeit, dass würde sonst nicht gegeben sind.

Beispiel gegeben ist:

try:
   with open(filename): pass
except IOError:
   print 'Oh dear.'

Aber ich bin nicht zu verstehen, wie, die vermeidet, dass eine race-condition im Vergleich zu:

if not os.path.exists(filename):
    print 'Oh dear.'

Wie funktioniert das aufrufen os.path.exists(filename) dem Angreifer ermöglichen, etwas zu tun, was mit der Datei, die Sie nicht bereits tun?

InformationsquelleAutor Honest Abe | 2013-01-29
Schreibe einen Kommentar