Wie lösen Sie den binary-Modus nicht nehmen eine Kodierung argument
Code:
import nltk
eng_lish= open("C:/Users/Nouros/Desktop/Thesis/english.csv","rb", encoding='utf8').read()
bang_lish= open("C:/Users/Nouros/Desktop/Thesis/banglish.csv","rb", encoding='utf8').read()
Problem:
Traceback (most recent call last):
File "C:/Users/Nouros/Desktop/Thesis/nltk_run_copy.py", line 3, in <module>
eng_lish= open("C:/Users/Nouros/Desktop/Thesis/english.csv","rb",encoding="utf-8")
ValueError: binary mode doesn't take an encoding argument
- Bitte poste deinen code und den Fehler direkt zu deiner Frage, verbatim.
- beachten Sie, dass der rest des Codes wird Absturz, weil dieser Zeile: pos=[eng_lish.Worte(i) für i in eng_lish.append('pos')]
eng_lish
ist eine Zeichenfolge, so dass es nicht Attribute wiewords
oderappend
. Der rest des Codes ist unerheblich für Ihre aktuelle Frage, also ich werde es rauseditieren - was ist, wenn Sie entfernen Sie einfach
b
ausrb
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
den Sie gerade Lesen
csv
Dateien, die text - Dateien. So müssen Sie die Codierung, aber nicht den binary-Modus.So sollten Sie nicht verwenden
rb
um diese zu öffnen (es wird empfohlen, dies zu tun, wenn mitcsv
- Modul in Python 2, aber es ist irrelevant, in anderen Kontexten).Nur nur-text-Modus:
Mir, ich würde lieber mit
csv
- Modul, zu vermeiden, die manuelle Aufteilung der Zeilen & cols:(beachten Sie, dass csv-Modul empfiehlt die Verwendung
newline=""
beim öffnen von Dateien zum Lesen in Python 3, aber die Probleme sind eigentlich beim schreiben von Dateien)Binary-Modus per definition nicht erforderlich, eine Codierung, da Sie das Lesen einzelner bytes. Die Codierung ist nur dann relevant, wenn Sie möchten, den text zu Lesen. Verschiedene Kodierungen behandeln, die binäre Daten anders. Für einige Codierungen ein einzelnes byte repräsentiert ein Zeichen. Für die anderen ein Zeichen mehrere bytes. Dies ist der ganze Zweck der Kodierung: die zum darstellen von text-Daten als Zeichen.