Hallo,
ich würde gerne in einer Textdatei nach einem Wort suchen. Kann mir jemand einen Hinweis geben, wie ich an dieses Problem herangehen kann ?
Gruß,
lordzwieback
Wort in Textdatei finden
-
- User
- Beiträge: 55
- Registriert: Montag 2. März 2015, 14:35
- Kontaktdaten:
-
- User
- Beiträge: 55
- Registriert: Montag 2. März 2015, 14:35
- Kontaktdaten:
Grundlagentutorial habe ich bereits durchgearbeitet. Und die Frage ist doch konkret gestellt.Sirius3 hat geschrieben:@lordzwieback: ein Grundlagentutorial durcharbeiten und mit Code + einer konkreten Frage wiederkommen.
Prinzipiell geht es darum, eine Textdatei nach einem bestimmten Wort zu durchsuchen. Wird dieses Wort gefunden, soll Aktion X ausgelöst werden, ansonsten Y.
Code diesbezüglich gibts bei mir nur Wirr Warr, dass ich danach gleich wieder gelöscht habe, da es nicht funktioniert hat. 1x mittels Listen getestet, einmal mit for Schleifen, die die Zeilen eingelesen haben. Hat aber leider nichts funktioniert.
Dateioperationen sind mir geläufig, falls das die Anspielung auf das Tutorial war.
@lordzwieback:
Na wenn Du weisst, wie Du an die Zeilen kommst, fehlt ja nur noch die Stringprüfung, als Anregung:
Na wenn Du weisst, wie Du an die Zeilen kommst, fehlt ja nur noch die Stringprüfung, als Anregung:
Code: Alles auswählen
In [1]: s = 'Hier kommt die Maus!'
In [2]: 'Maus' in s
Out[2]: True
In [3]: 'Katze' in s
Out[3]: False
-
- User
- Beiträge: 55
- Registriert: Montag 2. März 2015, 14:35
- Kontaktdaten:
An die Zeilen komme ich momentan so:jerch hat geschrieben:@lordzwieback:
Na wenn Du weisst, wie Du an die Zeilen kommst, fehlt ja nur noch die Stringprüfung, als Anregung:
Code: Alles auswählen
In [1]: s = 'Hier kommt die Maus!' In [2]: 'Maus' in s Out[2]: True In [3]: 'Katze' in s Out[3]: False
Code: Alles auswählen
textfile = open(r"C:\temp\test.txt", "r")
lines = textfile.readlines()
for line in lines:
# mach irgendwas
-
- User
- Beiträge: 55
- Registriert: Montag 2. März 2015, 14:35
- Kontaktdaten:
Habe es nun anderst gelöst:
Solange das File nicht zu groß ist, wird es mir hier keine Probleme machen soweit ich das in Erfahrung bringen konnte. Da ich weiß, dass das File jeden Tag neu generiert werden wird, finde ich das jetzt nicht so wild. Was meint ihr zu der Lösung ? Unabgebracht ? Unsauber ? Doch ganz ok ?
Danke für eure Rückmeldung bzw. Hilfe.
Code: Alles auswählen
with open(r"C:\temp\test.txt", "r") as f:
content = f.read()
if "Suchwort" in content:
# Tu etwas
Danke für eure Rückmeldung bzw. Hilfe.
@lordzwieback:
Ob das so passt und immer Dateigröße << RAM gilt, muss Du wissen. Ich würde die Sache eher zeilenweise verarbeiten:
Ob das so passt und immer Dateigröße << RAM gilt, muss Du wissen. Ich würde die Sache eher zeilenweise verarbeiten:
Code: Alles auswählen
with open(...) as f:
for line in f:
if 'abc' in line:
# usw.
@jerch: das Äquivalent zu irgendwo in der Datei wäre beim zeilenweisen Verarbeiten:
Code: Alles auswählen
with open(...) as f:
if any('abc' in line for line in f):
# usw.