Progrämmchen arbeitet nicht, wie erwartet

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Strawk
User
Beiträge: 244
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Hallo!
Ich konnte eine Liste aller deutschen Wörter als einfache .txt bekommen. Nun möchte ich folgendes Progrämmchen zum Laufen bringen:

Code: Alles auswählen

word = 'Aalstrich'
wordlist = open('wortliste.txt','r')
for zeile in wordlist:
    if zeile == word:
        print(zeile)
Es gibt aber nichts aus, läuft einfach ergebnislos durch. Warum?
Grüße, Strawk :ugeek:
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Besteht die Zeile nicht noch aus newline?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
Strawk
User
Beiträge: 244
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Ja, wenn ich mit zeile[:-1] arbeite, funktioniert es, danke!
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Strawk hat geschrieben: Sonntag 27. Dezember 2020, 23:14 Ja, wenn ich mit zeile[:-1] arbeite, funktioniert es, danke!
Du möchtest vielleicht lieber zeile.rstrip() oder sogar zeile.strip() verwenden um alle Whitespace-Zeichen zu entfernen.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

Dateien öffnet man in Python möglichst mit 'with':

Code: Alles auswählen

In [2]: word = 'Aalstrich'
   ...: with open('wortliste.txt') as f:
   ...:     for line in f:
   ...:         if line.strip() == word:
   ...:             print(line)
   ...: 
Antworten