Python - wie automatisch Ordner erstellen, die den gleichen Namen wie die Datei haben?
Hey, ich hoffe ihr könnt mir helfen.
Ich habe ca. 200 Dateien (.txt/.xml) Bsp. Xc123.txt und Xc123.xml usw... Ich möchte die oben genannten 200 Datein automatisch in Ordner verschieben. Der Name der Ordner soll von den Dateien kopiert werden.
Hat jemand eine Idee, wie ich das Umsetzen kann?
Also soll zu jeder Datei ein Ordner erstellt werden und in den Ordner die Datei verschoben werden, sodass man am Ende 200 Ordner mir Dateien hat?
Der aktuelle Ordner hat jeweils eine TXT und eine XML Datei mit dem gleichen Namen. Ich möchte, dass die beiden Dateien in je 1 Ordner kommen, sodass ich 100 Ordner habe
Hast du jetzt 50 ordner mit je 2 Dokumenten oder 1 wo 50 txt und 50 xml Datei sind?
Ich habe 1 Ordner mit 200 Dokumenten. Bei diesem möchte ich alle gleichen Namen in 1 Ordner verschieben. Bsp. Xc123.txt und Xc123.xml kommt in den selben Ordner
Mit Windows oder Linux?
Windows
2 Antworten
Ist doch das leichteste.
- Alle Dateien abfragen
- Alle Dateien mit Schleife durchlaufen
- Schauen ob Ordner existiert, sonst erstellen (anhand der Datei aus der Schleife (Extension entfernen nicht vergessen))
- Dann verschieben
Das war's.
Wie die einzelnen Funktionen dazu heißen kann man googlen
Also ich konnte den Datensatz nach Datum sortieren, d.h. Alle Dateien sind jetzt in dem jeweiligen Ordner mit dem dazugehörigem Datum. Jetzt will ich in dem Ordner Bsp. 2022-06-06 die Dateien/Dokumente nochmal in die jeweiligen Ordner verschieben, die dann so heißen wie die Datei. Genau da komme ich nicht weiter. Wie mache ich das, dass ich Ordner erstelle, die dann so heißen wie die Datei?
OK, das mit toWrite kenne ich. Mein Problem ist, dass ich die Dateien, die ich automatisch in die jeweiligen Ordner verschoben habe, als Liste in die CSV Datei packen möchte. Also das unter der 1. Spalte alle Dateien aufgeführt werden, die mit TXT enden und die 2. Spalte mit XML. Hoffe du verstehst, was ich meine.
Um Ordner in Python automatisch anhand der Namen von Dateien zu erstellen, können Sie die os-Module verwenden. Hier ist ein Beispiel:
import os
# Set the source and target directories
source = "C:\\Users\\example\\files"
target = "C:\\Users\\example\\folders"
# Loop through all files in the source directory
for filename in os.listdir(source):
# Get the file name without the extension
name = os.path.splitext(filename)[0]
# Create the target directory
os.makedirs(os.path.join(target, name))
# Move the file to the target directory
os.rename(os.path.join(source, filename), os.path.join(target, name, filename))
Dieser Code setzt voraus, dass sich die Originaldateien im Verzeichnis C:\Users\example\files befinden und die Dateien in Ordnern im Verzeichnis C:\Users\example\folders gespeichert werden sollen. Sie können diese Pfade entsprechend anpassen.
Hinweis: Stellen Sie sicher, dass Sie die Pfade in Anführungszeichen setzen, wenn sie Leerzeichen enthalten. Zum Beispiel: "C:\\Users\\example\\files"
Ich hoffe, dass dies hilfreich ist.
Wie wähle ich denn aus, wie viele Zeichen von der Datei als Name für den neuen Ordner ausgewählt werden müssen? Ich will ja, dass die Ordner automatisch erstellt und die Dateien reinkopiert werden