split () Funktion einsetzen

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
werhei14
User
Beiträge: 14
Registriert: Montag 10. April 2017, 20:35

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
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten