Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
modul:m122:learningunits:lu08:einfuehrung [2024/12/02 09:16] – msuter | modul:m122:learningunits:lu08:einfuehrung [2024/12/09 10:31] (aktuell) – msuter | ||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
===== Sicherheitshinweise ===== | ===== Sicherheitshinweise ===== | ||
+ | ==== Eingaben validieren ==== | ||
+ | Vermeiden Sie die direkte Übergabe von Benutzereingaben an Shell-Befehle, | ||
- | + | **Beispiel:** | |
- | Eingabesanitierung: | + | |
<code python> | <code python> | ||
Zeile 23: | Zeile 24: | ||
</ | </ | ||
- | Stattdessen: | + | **Stattdessen: |
<code python> | <code python> | ||
subprocess.run([' | subprocess.run([' | ||
Zeile 31: | Zeile 32: | ||
Überprüfen Sie Rückgabecodes und Ausgaben auf Fehler. | Überprüfen Sie Rückgabecodes und Ausgaben auf Fehler. | ||
- | ===== Fazit ===== | + | <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 ===== | ||
- | Python bietet flexible Werkzeuge zur Integration von Bash-Befehlen und ist eine ideale Wahl für die Entwicklung leistungsstarker Automatisierungs- und Verwaltungsskripte. Das subprocess-Modul ist die bevorzugte Methode, da es präzise Kontrolle und Sicherheit bietet. Durch das Verständnis dieser Techniken können Sie die Stärken von Python und Bash optimal kombinieren, | + | 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, |