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.

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

  1. Erstelle einen neuen Ordner im WSL, z.B. /data oder /tmp/work
  2. 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.