Anhang A → Wichtige Python-Befehle für Einsteiger in die Netzwerkautomatisierung

Python gehört zu den wichtigsten Werkzeugen für Einsteiger in die Netzwerkautomatisierung, weil sich mit vergleichsweise wenig Code bereits viele praktische Aufgaben umsetzen lassen. Dazu gehören das Auslesen von Geräteinformationen, das Verarbeiten von Inventardaten, das Speichern von Backups, das Prüfen von Standards oder das Arbeiten mit APIs und strukturierten Datenformaten. Gerade am Anfang wirkt Python jedoch oft größer und technischer, als es für den eigentlichen Einsatz im Netzwerkalltag sein muss. In der Praxis braucht ein angehender Network Engineer zunächst keine komplexe Softwarearchitektur, sondern vor allem ein sicheres Verständnis einiger grundlegender Befehle und Sprachbausteine. Wer weiß, wie Variablen, Listen, Dictionaries, Schleifen, Bedingungen, Funktionen und Dateioperationen funktionieren, kann bereits einen großen Teil typischer Automatisierungsaufgaben nachvollziehen und schrittweise selbst umsetzen. Dieser Anhang fasst die wichtigsten Python-Befehle und Grundmuster für Einsteiger in die Netzwerkautomatisierung kompakt, praxisnah und verständlich zusammen.

Table of Contents

Warum Python für Einsteiger in die Netzwerkautomatisierung so wichtig ist

Python ist gut lesbar und schnell praktisch nutzbar

Python ist in der Netzwerkautomatisierung besonders beliebt, weil die Sprache relativ klar lesbar ist und viele alltägliche Aufgaben ohne unnötig komplizierte Syntax beschrieben werden können. Das ist für Einsteiger ein großer Vorteil, denn das Ziel ist anfangs nicht, professionelle Softwareentwicklung in voller Tiefe zu beherrschen, sondern wiederkehrende technische Aufgaben logisch zu strukturieren.

  • Geräteinformationen automatisch auslesen
  • Konfigurationen sichern
  • Inventardaten verarbeiten
  • JSON- oder YAML-Daten lesen
  • API-Antworten auswerten
  • Berichte oder Prüfergebnisse erzeugen

Genau deshalb ist Python im Netzwerkbereich nicht nur eine Programmiersprache, sondern vor allem ein praktisches Arbeitswerkzeug.

Einsteiger brauchen zuerst Grundlogik, nicht Komplexität

Ein häufiger Fehler besteht darin, sich zu früh mit fortgeschrittenen Themen zu überladen. Für den Einstieg in die Netzwerkautomatisierung reichen zunächst einige wenige, aber zentrale Bausteine:

  • Variablen
  • Text- und Zahlwerte
  • Listen
  • Dictionaries
  • Schleifen
  • Bedingungen
  • Funktionen
  • Dateien lesen und schreiben

Wer diese Bausteine sicher anwenden kann, hat bereits eine sehr starke Grundlage für typische Netzwerkautomatisierungsaufgaben.

Variablen: Werte speichern und wiederverwenden

Was Variablen in Python leisten

Variablen speichern Werte, die später im Programm wiederverwendet werden. Im Netzwerkbereich können das Hostnamen, IP-Adressen, Rollen, Dateinamen oder Kommandos sein. Variablen sind deshalb einer der ersten und wichtigsten Python-Befehle für Einsteiger.

hostname = "R1"
mgmt_ip = "192.0.2.101"
role = "router"

Hier werden drei Variablen definiert. Jede Variable enthält einen bestimmten Wert, der später im Code benutzt werden kann. Dadurch muss der gleiche Wert nicht mehrfach neu geschrieben werden.

Warum Variablen im Netzwerkalltag so nützlich sind

  • Hostnamen lassen sich zentral speichern
  • IP-Adressen bleiben sauber referenzierbar
  • Kommandos können leichter wiederverwendet werden
  • Dateinamen und Rollen lassen sich übersichtlich verwalten

Gerade in Automatisierungsskripten sorgen Variablen für Klarheit und bessere Wartbarkeit.

Datentypen: Strings, Zahlen und Booleans

Die wichtigsten Typen für Einsteiger

Python arbeitet mit verschiedenen Datentypen. Für die Netzwerkautomatisierung sind anfangs vor allem drei wichtig:

  • Strings für Text
  • Integer für ganze Zahlen
  • Boolean für wahr oder falsch

Beispiele:

hostname = "SW1"
vlan_id = 10
ssh_enabled = True

Der Hostname ist ein Textwert, die VLAN-ID eine Zahl und ssh_enabled ein Wahrheitswert. Diese Unterscheidung ist wichtig, weil Python je nach Typ unterschiedlich mit Werten umgeht.

Typische Einsatzfelder im Netzwerkbereich

  • Strings für Hostnamen, IP-Adressen, Rollen und Kommandos
  • Integers für VLAN-IDs, Ports oder Zähler
  • Booleans für Zustände wie aktiv oder inaktiv

Gerade bei JSON, YAML und APIs ist ein sauberes Typverständnis besonders hilfreich.

Ausgaben mit print()

Warum print() für Einsteiger unverzichtbar ist

Mit print() werden Werte auf dem Bildschirm ausgegeben. Das ist für Einsteiger besonders wichtig, weil sich damit schnell prüfen lässt, ob eine Variable den erwarteten Inhalt hat oder ob eine Schleife und Logik richtig funktionieren.

hostname = "R1"
print(hostname)

Die Ausgabe ist:

R1

Gerade bei ersten Skripten ist print() eines der wichtigsten Werkzeuge für Verständnis und Fehlersuche.

Mehrere Werte gemeinsam ausgeben

hostname = "R1"
mgmt_ip = "192.0.2.101"

print(hostname, mgmt_ip)

So lassen sich mehrere Informationen in einer Zeile darstellen. Das ist nützlich für einfache Reports oder Zwischenausgaben beim Testen.

Listen: Mehrere Werte geordnet speichern

Was Listen sind

Listen speichern mehrere Werte in einer Reihenfolge. In der Netzwerkautomatisierung werden Listen häufig für Gerätegruppen, Befehle oder Rollen genutzt.

devices = ["R1", "R2", "SW1"]
commands = ["show version", "show inventory", "show ip interface brief"]

Diese Struktur ist besonders nützlich, wenn dieselbe Logik für mehrere Einträge angewendet werden soll.

Auf Listenelemente zugreifen

devices = ["R1", "R2", "SW1"]

print(devices[0])
print(devices[1])

Python beginnt beim Zählen mit 0. Deshalb steht devices[0] für den ersten Eintrag.

Ausgabe:

R1
R2

Dieses Prinzip ist wichtig, wenn Einträge gezielt angesprochen oder verarbeitet werden sollen.

Dictionaries: Strukturierte Gerätedaten speichern

Warum Dictionaries so wichtig sind

Dictionaries gehören zu den wichtigsten Python-Bausteinen in der Netzwerkautomatisierung, weil sie Daten über Schlüssel und Werte strukturieren. Damit lassen sich Hostname, IP-Adresse und Rolle eines Geräts sehr übersichtlich zusammenfassen.

device = {
    "hostname": "R1",
    "host": "192.0.2.101",
    "role": "router"
}

Hier enthält das Dictionary drei Informationen, die eindeutig benannt sind.

Auf Werte im Dictionary zugreifen

print(device["hostname"])
print(device["host"])

Ausgabe:

R1
192.0.2.101

Dictionaries sind im Netzwerkbereich besonders wichtig, weil sie sehr ähnlich zu JSON-Strukturen und vielen Inventarmodellen aufgebaut sind.

Schleifen mit for: Wiederholung automatisieren

Warum Schleifen zentral für Automatisierung sind

Automatisierung bedeutet oft, denselben Schritt mehrfach auszuführen. Genau dafür werden Schleifen verwendet. Mit einer for-Schleife kann beispielsweise über mehrere Geräte oder mehrere Kommandos iteriert werden.

devices = ["R1", "R2", "SW1"]

for device in devices:
    print(device)

Ausgabe:

R1
R2
SW1

Gerade in Netzwerkskripten ist dieses Muster allgegenwärtig.

Schleifen mit Dictionaries kombinieren

devices = [
    {"hostname": "R1", "host": "192.0.2.101"},
    {"hostname": "SW1", "host": "192.0.2.102"}
]

for device in devices:
    print(device["hostname"], device["host"])

Damit wird nicht nur über eine Liste iteriert, sondern direkt mit strukturierten Gerätedaten gearbeitet. Genau dieses Muster ist für Inventare besonders typisch.

Bedingungen mit if: Entscheidungen treffen

Wann Bedingungen gebraucht werden

Mit if-Bedingungen kann Python abhängig von einem Wert oder Zustand unterschiedlich reagieren. Das ist nützlich, wenn ein Skript etwa nur bei bestimmten Rollen oder Statuswerten etwas tun soll.

role = "router"

if role == "router":
    print("Routing-Pruefung starten")

Die Ausgabe erfolgt nur, wenn die Bedingung erfüllt ist.

Typische Netzwerkbeispiele

interface_status = "down"

if interface_status == "down":
    print("Interface pruefen")

Solche Bedingungen sind nützlich für Statusprüfungen, Compliance-Checks oder kleine Warnlogiken.

Funktionen mit def: Wiederverwendbare Logik aufbauen

Warum Funktionen hilfreich sind

Funktionen fassen Logik in einem wiederverwendbaren Block zusammen. Wenn derselbe Ablauf mehrfach vorkommt, ist das deutlich sauberer als mehrfach denselben Code zu schreiben.

def greet_device(hostname):
    print(f"Verbinde zu {hostname}")

greet_device("R1")
greet_device("SW1")

Die Funktion nimmt einen Wert entgegen und nutzt ihn in einer Ausgabe.

Nutzen für Netzwerkskripte

  • Geräteinformationen geordnet ausgeben
  • Dateinamen standardisiert erzeugen
  • Prüflogik wiederverwenden
  • Code übersichtlicher machen

Funktionen helfen besonders dann, wenn Skripte nicht nur ein kurzes Experiment bleiben, sondern gepflegt und erweitert werden sollen.

Dateien lesen und schreiben

Dateien schreiben

Backups, Reports und Prüfergebnisse werden häufig in Dateien gespeichert. Deshalb gehört Dateiverarbeitung zu den wichtigsten Python-Grundlagen in der Netzwerkautomatisierung.

with open("backup.txt", "w") as f:
    f.write("show running-config output")

Dieser Code erstellt oder überschreibt eine Datei namens backup.txt und schreibt den Text hinein.

Dateien lesen

with open("backup.txt", "r") as f:
    content = f.read()

print(content)

Damit wird der Inhalt der Datei eingelesen und ausgegeben. Diese Technik ist wichtig für Inventare, Konfigurationssicherungen und Berichte.

Strings zusammenbauen und formatieren

f-Strings für klare Ausgaben

Mit f-Strings lassen sich Variablen sehr übersichtlich in Text einbauen. Das ist für Einsteiger besonders praktisch, weil Ausgaben dadurch leichter lesbar bleiben.

hostname = "R1"
ip = "192.0.2.101"

print(f"Geraet {hostname} hat die Management-IP {ip}")

Solche Ausgaben sind nützlich für Reports, Debugging oder statusbezogene Meldungen.

Typische Anwendungsfälle

  • Dateinamen erzeugen
  • Geräteberichte ausgeben
  • Fehlermeldungen verständlich formulieren
  • Logs oder Konsoleinträge strukturieren

Gerade im Netzwerkalltag machen gut formatierte Ausgaben Skripte deutlich verständlicher.

Einfache Eingaben mit input()

Wann input() nützlich ist

Mit input() können einfache Benutzereingaben abgefragt werden. Für erste Übungen oder kleine Tools ist das hilfreich, auch wenn produktionsnahe Automatisierung später meist stärker auf Dateien oder Inventare setzt.

hostname = input("Bitte Hostname eingeben: ")
print(f"Du hast {hostname} eingegeben")

Damit kann ein Skript interaktiv einfache Werte übernehmen.

Warum Einsteiger dieses Muster kennen sollten

  • Einfaches Verständnis von Eingabe und Ausgabe
  • Kleine interaktive Tests
  • Bewusstsein für Benutzerdaten und Weiterverarbeitung

Für den Einstieg ist das ein nützliches Lernmuster, auch wenn Inventare und Dateien später oft wichtiger werden.

Module importieren mit import

Warum import wichtig ist

Python lebt stark von Modulen und Bibliotheken. Mit import werden zusätzliche Funktionen verfügbar gemacht. Gerade in der Netzwerkautomatisierung sind Module für JSON, YAML, Dateipfade, APIs oder SSH besonders wichtig.

import json

Damit wird das JSON-Modul geladen, das für API-Antworten und JSON-Dateien relevant ist.

Typische Einsteiger-Beispiele

import json

data = '{"hostname": "R1", "role": "router"}'
parsed = json.loads(data)

print(parsed["hostname"])

So wird ein JSON-String in eine Python-Struktur umgewandelt. Genau dieses Muster ist im API-Kontext sehr häufig.

Fehlersuche mit einfachen Mitteln

print() als Debug-Werkzeug

Für Einsteiger ist die wichtigste Debug-Technik oft ganz einfach: Werte an den richtigen Stellen ausgeben. So wird sichtbar, welche Variablen oder Datenstrukturen tatsächlich vorliegen.

device = {"hostname": "R1", "host": "192.0.2.101"}
print(device)
print(device["hostname"])

Dadurch lassen sich viele einfache Fehler deutlich schneller erkennen.

Typische Anfängerfehler

  • Falsche Einrückung
  • Vertippte Variablennamen
  • Falsche Schlüssel in Dictionaries
  • Verwechslung von Listen und Einzelwerten
  • Falscher Dateipfad

Gerade in Python sind viele Fehler klein, aber sehr lehrreich. Wer sie ruhig analysiert, macht schnelle Fortschritte.

Wichtige Python-Muster für Netzwerkaufgaben

Geräteinformationen durchlaufen

devices = [
    {"hostname": "R1", "host": "192.0.2.101"},
    {"hostname": "SW1", "host": "192.0.2.102"}
]

for device in devices:
    print(f"{device['hostname']} -> {device['host']}")

Dieses Muster ist typisch für Inventare und Statusausgaben.

Einfache Backup-Datei erzeugen

hostname = "R1"
config_output = "show running-config output"

with open(f"{hostname}_backup.txt", "w") as f:
    f.write(config_output)

Damit wird eine Datei erstellt, deren Name direkt aus dem Hostnamen gebildet wird. Genau solche Muster sind in Mini-Projekten besonders nützlich.

Rollen prüfen

device = {"hostname": "R1", "role": "router"}

if device["role"] == "router":
    print("Routing-Check durchfuehren")

Dieses Beispiel zeigt die Kombination aus Dictionary und Bedingung. Solche Muster tauchen später häufig in Inventaren und Templates wieder auf.

Welche Python-Befehle Einsteiger zuerst wirklich beherrschen sollten

  • Variablen definieren und verwenden
  • Mit print() Ausgaben erzeugen
  • Strings, Integers und Booleans unterscheiden
  • Listen aufbauen und durchlaufen
  • Dictionaries erstellen und Werte abrufen
  • Mit for Schleifen Wiederholungen automatisieren
  • Mit if Bedingungen Entscheidungen treffen
  • Mit def einfache Funktionen definieren
  • Dateien mit open() lesen und schreiben
  • Module mit import laden
  • f-Strings für verständliche Ausgaben nutzen
  • Mit einfachen Debug-Ausgaben Fehler eingrenzen

Diese Befehle und Muster decken bereits einen großen Teil früher Automatisierungsaufgaben ab. Wer sie sicher lesen, erklären und anwenden kann, besitzt eine sehr gute Python-Basis für den Netzwerkbereich.

Best Practices für Einsteiger in die Netzwerkautomatisierung

  • Python immer an echte Netzwerkaufgaben koppeln, statt nur abstrakte Übungen zu machen.
  • Lieber wenige Grundbefehle sicher beherrschen als viele Themen oberflächlich kennen.
  • Mit read-only Aufgaben wie Inventarisierung oder Backups beginnen.
  • Dictionaries und Listen früh bewusst trainieren, weil sie fast überall vorkommen.
  • JSON- und YAML-Verständnis eng mit Python-Datenstrukturen verbinden.
  • f-Strings und print() aktiv für klare Ausgaben und Fehlersuche nutzen.
  • Dateiverarbeitung früh üben, weil sie für Inventare und Backups zentral ist.
  • Beispielcode nicht nur kopieren, sondern mit eigenen Werten anpassen.
  • Fehlermeldungen als Lernhilfe und nicht als Rückschlag betrachten.
  • Mit kleinen Mini-Projekten aus einzelnen Befehlen echte Routine aufbauen.

Wichtige Python-Befehle für Einsteiger in die Netzwerkautomatisierung zu kennen bedeutet letztlich, die Sprache nicht als abstraktes Informatikthema zu sehen, sondern als praktisches Werkzeug für wiederkehrende Netzwerkaufgaben. Wer Variablen, Listen, Dictionaries, Schleifen, Bedingungen, Funktionen, Dateioperationen und einfache Module sicher beherrscht, hat bereits den Kern dessen gelernt, was für den Einstieg in viele Automatisierungsaufgaben wirklich gebraucht wird. Genau diese Basis macht es möglich, aus manuellen Abläufen schrittweise strukturierte, wiederholbare und im Netzwerkalltag nützliche Automatisierung zu entwickeln.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles