21.08.2025, 16:36
Hallo!
Willkommen zum letzten Teil unseres Passwort-Manager-Projekts! In den letzten Lektionen haben wir die Struktur gebaut und die Speicherfunktion hinzugefügt. Heute vervollständigen wir unser Programm, indem wir die Logik zum Abrufen von Passwörtern implementieren.
Die passwort_abrufen-Funktion
Wir erstellen eine neue Funktion, die nach dem Namen eines Dienstes fragt und dann die dazugehörige Zeile in unserer Datei sucht. Wir werden die Konzepte des Dateihandlings (Teil 11) und der Schleifen (Teil 8) kombinieren.
So funktioniert der neue Code:
Das fertige Programm: Zusammenfassung
Um sicherzustellen, dass alles reibungslos funktioniert, hier noch einmal das komplette und funktionsfähige Programm, das die Code-Blöcke aus den letzten drei Lektionen vereint. Du kannst es einfach kopieren und in eine neue Datei einfügen, um dein fertiges Projekt zu starten.
[attachment=22]
Herzlichen Glückwunsch! Du hast erfolgreich dein erstes größeres Projekt abgeschlossen und alle Bausteine aus dem Kurs miteinander verbunden.
<< Zurück zur Kurs-Übersicht: Was ist Python und warum du es lernen solltest
Willkommen zum letzten Teil unseres Passwort-Manager-Projekts! In den letzten Lektionen haben wir die Struktur gebaut und die Speicherfunktion hinzugefügt. Heute vervollständigen wir unser Programm, indem wir die Logik zum Abrufen von Passwörtern implementieren.
Die passwort_abrufen-Funktion
Wir erstellen eine neue Funktion, die nach dem Namen eines Dienstes fragt und dann die dazugehörige Zeile in unserer Datei sucht. Wir werden die Konzepte des Dateihandlings (Teil 11) und der Schleifen (Teil 8) kombinieren.
Code:
def passwort_abrufen():
print("\n--- Passwort abrufen ---")
dienst = input("Für welchen Dienst suchst du das Passwort? ")
# Wir öffnen die Datei im Lese-Modus ('r')
try:
with open("passwoerter.txt", "r") as datei:
for zeile in datei:
# Wir prüfen, ob der Dienst in der Zeile ist
if dienst in zeile:
print("Gefunden:", zeile)
return # Wir beenden die Funktion, da wir gefunden haben, was wir suchen
print("Passwort für diesen Dienst nicht gefunden.")
except FileNotFoundError:
print("Datei 'passwoerter.txt' wurde nicht gefunden. Es wurden noch keine Passwörter gespeichert.")
# Unser Hauptprogramm, nun mit dem Aufruf der neuen Funktion
def hauptfunktion():
print("Willkommen beim Passwort-Manager!")
while True:
aktion = input("\nWas möchtest du tun? (speichern / abrufen / beenden) ")
if aktion == "speichern":
passwort_speichern()
elif aktion == "abrufen":
passwort_abrufen() # Hier rufen wir die Funktion auf
elif aktion == "beenden":
print("Manager wird beendet.")
break
else:
print("Ungültige Eingabe. Bitte wähle eine der Optionen.")
# Die Hauptfunktion ausführen, wenn das Programm startet
hauptfunktion()
So funktioniert der neue Code:
- Wir erstellen eine Funktion passwort_abrufen(), die den Dienst abfragt.
- Wir öffnen die Datei mit der try/except Logik aus Teil 12, falls die Datei nicht existiert.
- Eine for-Schleife geht jede Zeile in der Datei durch.
- Der if-Befehl prüft, ob der Name des gesuchten Dienstes in der jeweiligen Zeile vorkommt. Wenn ja, wird die gesamte Zeile ausgegeben.
- return beendet die Funktion, sobald ein Ergebnis gefunden wurde.
Das fertige Programm: Zusammenfassung
Um sicherzustellen, dass alles reibungslos funktioniert, hier noch einmal das komplette und funktionsfähige Programm, das die Code-Blöcke aus den letzten drei Lektionen vereint. Du kannst es einfach kopieren und in eine neue Datei einfügen, um dein fertiges Projekt zu starten.
Code:
# CODE AUS TEIL 17: SPEICHERN
def passwort_speichern():
print("\n--- Passwort speichern ---")
dienst = input("Für welchen Dienst ist das Passwort? ")
passwort = input("Gib das Passwort ein: ")
with open("passwoerter.txt", "a") as datei:
datei.write(f"{dienst}: {passwort}\n")
print("Passwort erfolgreich gespeichert!")
# CODE AUS TEIL 18: ABRUFEN
def passwort_abrufen():
print("\n--- Passwort abrufen ---")
dienst = input("Für welchen Dienst suchst du das Passwort? ")
try:
with open("passwoerter.txt", "r") as datei:
for zeile in datei:
if dienst in zeile:
print("Gefunden:", zeile)
return
print("Passwort für diesen Dienst nicht gefunden.")
except FileNotFoundError:
print("Datei 'passwoerter.txt' wurde nicht gefunden. Es wurden noch keine Passwörter gespeichert.")
# CODE AUS TEIL 16: HAUPTPROGRAMM
def hauptfunktion():
print("Willkommen beim Passwort-Manager!")
while True:
aktion = input("\nWas möchtest du tun? (speichern / abrufen / beenden) ")
if aktion == "speichern":
passwort_speichern()
elif aktion == "abrufen":
passwort_abrufen()
elif aktion == "beenden":
print("Manager wird beendet.")
break
else:
print("Ungültige Eingabe. Bitte wähle eine der Optionen.")
# Die Hauptfunktion ausführen
hauptfunktion()
[attachment=22]
Herzlichen Glückwunsch! Du hast erfolgreich dein erstes größeres Projekt abgeschlossen und alle Bausteine aus dem Kurs miteinander verbunden.
<< Zurück zur Kurs-Übersicht: Was ist Python und warum du es lernen solltest