Seite 1 von 1
split () Funktion einsetzen
Verfasst: Sonntag 20. Februar 2022, 21:49
von werhei14
Hallo,
warum läuft dieser Code nicht?
Wie müsste ich codieren?
datei = open('Datei.txt','r')
txt_tokenised = datei.split()
print(txt_tokenised)
#AttributeError: '_io.TextIOWrapper' object has no attribute 'split'
Gruß
Werner
Re: split () Funktion einsetzen
Verfasst: Sonntag 20. Februar 2022, 22:25
von __blackjack__
@werhei14: Weil Dateiobjekte keine `split()`-Methode haben. Du möchtest den *Inhalt* der Datei vielleicht lieber einlesen, und dann `split()` *darauf*, also auf der Zeichenkette, aufrufen‽
Dateien sollte man wo es möglich ist mit der ``with``-Anweisung zusammen öffnen, damit die Datei auch garantiert wieder geschlossen wird, wenn der Programmfluss den ``with``-Block verlässt. Und bei Textdateien sollte man explizit die Kodierung angeben.
Bitte keine kryptischen Abkürzungen oder Yoda-mässige Reihenfolgen bei Namen verwenden. Wenn man `tokenized_text` meint, sollte man nicht `txt_tokenized` schreiben. Wobei einfach `tokens` kürzer wäre.
Code: Alles auswählen
#!/usr/bin/env python3
from pathlib import Path
def main():
tokens = Path("Datei.txt").read_text(encoding="utf-8").split()
print(tokens)
if __name__ == "__main__":
main()