Code: Alles auswählen
def _create_path(foldername):
try:
os.makedirs(foldername)
except Exception:
pass
Daraus ergeben sich folgende kurze Fragen: Lasse ich es einfach so? Gibt es Alternativvorschläge?
Code: Alles auswählen
def _create_path(foldername):
try:
os.makedirs(foldername)
except Exception:
pass
Code: Alles auswählen
def _create_path(foldername):
if not os.path.exists(foldername):
try:
os.makedirs(foldername)
except Exception:
print "Fehler beim Anlegen des Verzeichnisses!"
Das Problem ist mir bewusst (deshalb schrieb ich: "einigermaßen") und ich gehe es auf übergeordneter Ebene an, da in dem Fall das Programm kontrolliert abbrechen soll.sparrow hat geschrieben:Hm, es könnte ja auch ein Rechteproblem vorliegen, dass dir also gar nicht erlaubt ist das Verzeichnis zu erstellen. Außerdem könnten Inodes oder Plattenspeicher ausgehen.
Ich möchte hier auch das EAFP-Prinzip anwenden. Bei der von dir beschriebenen Vorgehensweise könnte ich zudem immer noch auf eine Race Condition stoßen.sparrow hat geschrieben:Eine Alternative wäre zu prüfen ob das Verzeichnis schon da ist (os.path.exists), und makedirs nur auszuführen, wenn es eben noch nicht da ist.
Code: Alles auswählen
def _create_path(foldername):
try:
os.makedirs(foldername)
except Exception:
if not os.path.exists(foldername):
raise