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:// |