Python: Wieso geht der Code 2 Mal in die For-Schleife?
Hi,
mein Python Skript soll für jede .pdf Datei in einem Ordner einen neuen Ordner anlegen mit dem Namen der Datei. Dazu habe ich folgenden Code:
import os
import main
import glob
path = "C:/Users/d/Desktop/pdf/"
for file in glob.iglob(path + "*.pdf"):
name = os.path.basename(file)
filename = name.split(".")[0]
print(filename)
os.mkdir(path + filename)
Ich habe aktuell nur eine Datei im Ordner und dennoch bekomme ich folgendes Ergebnis:
Der Ordner ist einmal erstellt und der Fehler entsteht wohl dadurch, dass er versucht den Ordner noch einmal zu erstellen. Ich verstehe allerdings nicht, wieso der Code 2 Mal in die Schleife geht. Könnte mir das jemand erklären? Ist bestimmt irgendeine doofe Kleinigkeit.
Danke
2 Antworten
Dein Python-Skript heißt sicherlich main.py. Nun hast du es mit
import main
als Modul noch einmal in sich selbst eingebunden. Das bedeutet, dass es auch zweimal ausgeführt wird.
Die "Import main" war ausgegraut, daher dachte ich, dass sie keine Wirkung hat. Jetzt habe ich diese Zeile komplett gelöscht und der Code funktioniert plötzlich einwand frei. Verstehe zwar immernoch nicht, wieso er mit der Import main Zeile plötzlich 2 Mail reingehen will, aber wenn er es jetzt sein lässt, bin ich erstmal zufrieden
Schreib einfach die for-schleife unter ein if __name__ == "__main__": dann wird er nicht direkt ausgeführt wenn du die Datei in sich selber einbindest