Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m122:learningunits:lu08:einfuehrung [2024/12/02 09:12] – msuter | modul:m122:learningunits:lu08:einfuehrung [2024/12/09 10:31] (aktuell) – msuter | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| - | Python ist nicht nur eine vielseitige Programmiersprache für Anwendungen, | + | Python ist nicht nur eine vielseitige Programmiersprache für Anwendungen, |
| + | Diese Funktionalität ist besonders nützlich, wenn Sie Skripte schreiben, die Prozesse automatisieren, | ||
| ===== Warum Bash-Befehle in Python nutzen? ===== | ===== Warum Bash-Befehle in Python nutzen? ===== | ||
| Die Integration von Bash-Befehlen in Python bietet die Möglichkeit: | Die Integration von Bash-Befehlen in Python bietet die Möglichkeit: | ||
| - | - vorhandene Bash-Skripte und Befehle wiederzuverwenden, | + | * vorhandene Bash-Skripte und Befehle wiederzuverwenden, |
| - | - komplexe Workflows zu automatisieren, | + | |
| - | - sowohl die Vorteile von Python (Lesbarkeit, | + | |
| + | |||
| + | ===== Sicherheitshinweise ===== | ||
| + | ==== Eingaben validieren ==== | ||
| + | Vermeiden Sie die direkte Übergabe von Benutzereingaben an Shell-Befehle, | ||
| + | |||
| + | **Beispiel: | ||
| + | |||
| + | <code python> | ||
| + | # Unsicher: Benutzer kann Schadcode einschleusen | ||
| + | os.system(f" | ||
| + | </ | ||
| + | |||
| + | **Stattdessen: | ||
| + | <code python> | ||
| + | subprocess.run([' | ||
| + | </ | ||
| + | |||
| + | ==== Fehlerbehandlung ==== | ||
| + | Überprüfen Sie Rückgabecodes und Ausgaben auf Fehler. | ||
| + | |||
| + | <code python> | ||
| + | import subprocess | ||
| + | |||
| + | # Bash-Befehl, | ||
| + | command = "ls -l /" | ||
| + | |||
| + | try: | ||
| + | # Ausführung des Befehls | ||
| + | result = subprocess.run( | ||
| + | command, | ||
| + | shell=True, | ||
| + | check=True, | ||
| + | text=True, | ||
| + | stdout=subprocess.PIPE, | ||
| + | stderr=subprocess.PIPE | ||
| + | ) | ||
| + | # Ausgabe des Ergebnisses | ||
| + | print(" | ||
| + | print(" | ||
| + | print(" | ||
| + | print(result.stdout) | ||
| + | except subprocess.CalledProcessError as e: | ||
| + | # Fehlerbehandlung, | ||
| + | print(" | ||
| + | print(" | ||
| + | print(" | ||
| + | print(e.stderr) | ||
| + | except Exception as ex: | ||
| + | # Generelle Fehlerbehandlung | ||
| + | print(f" | ||
| + | </ | ||
| ===== Fazit ===== | ===== Fazit ===== | ||
| - | Python bietet flexible Werkzeuge zur Integration von Bash-Befehlen und ist eine ideale Wahl für die Entwicklung leistungsstarker Automatisierungs- und Verwaltungsskripte. Das Verständnis dieser Tools ermöglicht es Ihnen, das Beste aus beiden Welten – Python und Bash – zu nutzen. | + | Python bietet flexible Werkzeuge zur Integration von Bash-Befehlen und ist eine ideale Wahl für die Entwicklung leistungsstarker Automatisierungs- und Verwaltungsskripte. |
| + | Das '' | ||
| + | Durch das Verständnis dieser Techniken können Sie die Stärken von Python und Bash optimal kombinieren, | ||