LU11.A02: Dateien umbenennen
Erstelle ein Skript, das Dateien umbenennt und Pfade anpasst.
Ausgangslage
In einer Applikation werden mehrere Datendateien verwaltet, deren Dateipfade in einer Masterdatei gespeichert sind. Diese Masterdatei dient als zentrale Referenz und listet die Pfade zu den Datendateien. Um die Organisation der Dateien zu erleichtern, sollen bestehende Dateien umbenannt und dupliziert werden können, wobei die Pfade in der Masterdatei automatisch aktualisiert wird.
Mehrere Kopien
Dem Skript können mehrere neue Bezeichnungen angegeben werden. In diesem Fall soll das Skript mehrere Kopien der Dateien erstellen.
Aufruf
Das Python-Skript erwartet drei oder mehr Argumente.
-f
bzw.–folder
: Der Pfad des Ordners mit den Dateien.-o
bzw.–old
: Dateien mit dieser Zeichenfolge im Dateinamen sollen umbenannt werden.-n
bzw.–new
: Die neue Zeichenfolge im Namen der Dateien. Der Parameter kann mehr als einmal angegeben werden.
Beispielablauf
Ordnerinhalt vor dem Skript:
/data/ ├── vdi_master.dat (enthält Verweise auf: "data/vdi_data1.dat", "data/vdi_data2.dat) ├── vdi_data1.dat ├── vdi_data2.dat ├── read.me
Aufruf des Skripts mit einem --new:
python3 rename_files.py --folder /data --old vdi --new "exams"
Ordnerinhalt nach dem Skript:
/data/ ├── exams_master.dat (enthält Verweise auf: "data/exams_data1.dat", "data/exams_data2.dat) ├── exams_data1.dat ├── exams_data2.dat ├── read.me
Aufruf des Skripts mit mehreren --new:
python3 rename_files.py --folder /data --old vdi --new "exams" --new "school"
Ordnerinhalt nach dem Skript:
/data/ ├── exams_master.dat (enthält Verweise auf: "data/exams_data1.dat", "data/exams_data2.dat) ├── exams_data1.dat ├── exams_data2.dat ├── read.me ├── school_master.dat (enthält Verweise auf: "data/school_data1.dat", "data/school_data2.dat) ├── school_data1.dat ├── school_data2.dat
Vorbereitung
Ordner, Dateien erstellen
- Erstelle einen neuen Ordner im WSL, z.B.
/data
oder/tmp/work
- Kopiere die vier angehängten Dateien in diesem Ordner
randomfile.txt sample_master.txt sample_file1.txt sample_file9.txt
Projekt erstellen
Erstelle eine neues Python-Projekt inkl. Virtual Environment im WSL.