def CreateDirectory(pathName):
if not os.access(pathName, os.F_OK):
os.makedirs(pathName)
gegen:Python - Unterschied zwischen os.access und os.path.exists?
def CreateDirectory(pathName):
if not os.path.exists(pathName):
os.makedirs(pathName)
Ich verstehe, dass os.access etwas flexibler ist, da Sie für die RWE-Attribute sowie Pfad Existenz zu überprüfen, aber gibt es einige feine Unterschied ich hier fehlt bin zwischen diese beiden Implementierungen?
Wenn die Dokumente zu glauben sind, ist es noch subtiler als was die Antworten sagen. Der Modus "os.F_OK" dient speziell zum Testen der Existenz, nicht der Berechtigungen; while for 'os.path.exists()': "Auf einigen Plattformen kann diese Funktion False zurückgeben, wenn die Berechtigung zum Ausführen von os.stat() in der angeforderten Datei nicht erteilt wird, selbst wenn der Pfad physisch existiert." Die [FreeBSD man pages] (http://www.freebsd.org/cgi/man.cgi?query=access§ion=2) sagen, dass 'access' billiger ist als' stat', um das Vorhandensein zu testen. –