Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m122:learningunits:lu08:aufgaben:dateien [2024/12/02 09:20] – angelegt msuter | modul:m122:learningunits:lu08:aufgaben:dateien [2024/12/10 09:27] (aktuell) – [Beispielcode für den Einstieg] msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ### Aufgabe: Arbeiten mit Dateien und Verzeichnissen | + | ====== LU08.A01: Arbeiten mit Dateien und Verzeichnissen |
| - | **Ziel**: Verwenden Sie das `subprocess`-Modul in Python, um mehrere Bash-Befehle auszuführen und die Ergebnisse zu verarbeiten. | + | <WRAP center round todo 60%> |
| + | Verwende | ||
| + | </ | ||
| + | |||
| - | --- | + | ===== Aufgabe ===== |
| - | #### Aufgabe | + | Erstelle ein Python-Skript, |
| - | Erstellen Sie ein Python-Skript, das folgende Schritte ausführt: | + | |
| + | * Das Skript | ||
| + | * Überprüfe, ob das Verzeichnis erfolgreich erstellt wurde ('' | ||
| + | - **Erstellen von Dateien im neuen Verzeichnis**: | ||
| + | * Erstelle drei leere Dateien ('' | ||
| + | - **Auflisten der Dateien**: | ||
| + | * Liste den Inhalt des Verzeichnisses '' | ||
| + | - **Dateigröße anzeigen**: | ||
| + | * Zeige die Grösse der Dateien in diesem Verzeichnis mit dem Befehl '' | ||
| + | - **Zusatz (optional)**: | ||
| + | * Lösche eine der Dateien ('' | ||
| - | 1. **Erstellen eines neuen Verzeichnisses**: | + | ===== Vorgehen ===== |
| - | - Das Skript soll ein neues Verzeichnis mit dem Namen `python_bash_test` im aktuellen Verzeichnis erstellen. | + | |
| - | - Überprüfen Sie, ob das Verzeichnis erfolgreich erstellt wurde. | + | |
| - | 2. **Erstellen von Dateien im neuen Verzeichnis**: | + | - Erstelle einen Ordner '' |
| - | | + | - Erzeuge ein Virtual Environment innerhalb dieses Ordners. |
| + | - Aktiviere das Virtual Environment. | ||
| + | - Erstelle eine Datei '' | ||
| + | ===== Beispielcode für den Einstieg ===== | ||
| - | 3. **Auflisten der Dateien**: | ||
| - | - Listen Sie den Inhalt des Verzeichnisses `python_bash_test` mit dem Befehl `ls` auf und geben Sie die Ausgabe in der Konsole aus. | ||
| - | 4. **Dateigröße anzeigen**: | + | Hier ist der Aufbau des Skripts als Orientierungshilfe: |
| - | - Zeigen Sie die Größe | + | |
| - | 5. **Zusatz (optional)**: | + | < |
| - | - Löschen Sie eine der Dateien (`file3.txt`) und geben Sie anschließend die aktualisierte Liste der Dateien aus. | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | #### Beispielcode für den Einstieg | + | |
| - | + | ||
| - | Hier ist der Anfang des Skripts als Orientierungshilfe: | + | |
| - | + | ||
| - | ```python | + | |
| import subprocess | import subprocess | ||
| - | # 1. Verzeichnis erstellen | ||
| def create_directory(directory_name): | def create_directory(directory_name): | ||
| - | | + | "" |
| - | if result.returncode == 0: | + | |
| - | print(f"Verzeichnis ' | + | |
| - | | + | |
| - | | + | |
| - | # 2. Dateien erstellen | ||
| def create_files(directory_name, | def create_files(directory_name, | ||
| - | | + | """ |
| - | file_path = f"{directory_name}/ | + | pass |
| - | result = subprocess.run([' | + | |
| - | if result.returncode == 0: | + | |
| - | print(f"Datei ' | + | |
| - | else: | + | |
| - | print(f"Fehler beim Erstellen der Datei ' | + | |
| - | # Weiterer Code für Schritte | + | # Functions for steps 3-5 |
| - | ``` | + | |
| - | --- | + | if __name__ == ' |
| + | directory = ' | ||
| + | files = [' | ||
| + | |||
| + | create_directory(directory) | ||
| + | create_files(directory, | ||
| + | # call functions for step 3-5 | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Erwartete Ergebnisse ===== | ||
| - | #### Erwartete Ergebnisse | ||
| Beim Ausführen des Skripts sollte die Konsole folgendes ausgeben: | Beim Ausführen des Skripts sollte die Konsole folgendes ausgeben: | ||
| - | 1. **Nach Schritt 1**: | + | ==== Nach Schritt 1: ==== |
| - | ``` | + | |
| + | < | ||
| | | ||
| - | ``` | + | </ |
| + | |||
| + | ==== Nach Schritt 2: ==== | ||
| - | 2. **Nach Schritt 2**: | + | < |
| - | ``` | + | |
| Datei ' | Datei ' | ||
| Datei ' | Datei ' | ||
| Datei ' | Datei ' | ||
| - | ``` | + | </ |
| - | 3. **Nach Schritt 3 (Liste der Dateien)**: | + | ==== Nach Schritt 3 (Liste der Dateien): |
| - | ``` | + | |
| + | < | ||
| | | ||
| | | ||
| | | ||
| | | ||
| - | ``` | + | </ |
| - | 4. **Nach Schritt 4 (Dateigröße)**: | + | ==== Nach Schritt 4 (Dateigröße): |
| - | ``` | + | |
| + | < | ||
| | | ||
| 0B file1.txt | 0B file1.txt | ||
| 0B file2.txt | 0B file2.txt | ||
| 0B file3.txt | 0B file3.txt | ||
| - | ``` | + | </ |
| - | 5. **Nach Schritt 5 (Aktualisierte Liste nach Löschung)**: | + | ==== Nach Schritt 5 (Aktualisierte Liste nach Löschung): |
| - | ``` | + | |
| + | < | ||
| Datei ' | Datei ' | ||
| | | ||
| | | ||
| | | ||
| - | ``` | + | </ |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | #### Bewertungskriterien | + | |
| - | - **Korrektheit**: | + | ---- |
| - | - **Struktur**: Der Code ist modular und klar strukturiert (Verwendung von Funktionen). | + | {{tag> |
| - | - **Fehlerbehandlung**: Rückgabecodes und Fehler werden überprüft und ordnungsgemäß verarbeitet. | + | [[https:// |