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
split () Funktion einsetzen
- __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.
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