2016-05-22 7 views
0

Ich bin Neuling für die Python-Programmierung, also weiß ich nicht, wie grundlegend diese Frage ist. Ich möchte eine Gujarati-Textdatei in Python 3.5 bearbeiten. Als ich versuchte, diesen Codeblock auszuführen, gab es einen Fehler. Wie kann ich diesen Fehler beheben?Wie kann ich nicht-englische Textdatei (d. H. Gujarati) in Python 3.5 öffnen, lesen und schreiben?

import tkinter.filedialog 
import fileinput 
import tkinter 

filename1 = tkinter.filedialog.askopenfile() 


my_file = open(filename1, "r", encoding= "utf-16") 

content = my_file.read() 

print(content) 

Fehler:

Traceback (most recent call last): 
File "D:\PhD\python workspace\guj.py", line 8, in <module> 
    my_file = open(filename1, "r", encoding= "utf-16") 
TypeError: invalid file: <_io.TextIOWrapper name='D:/PhD/python workspace/text files/Gujarati.txt' mode='r' encoding='cp1252'> 

Antwort

1

Das Problem ist nicht in der Sprache. Das sollte nichts ausmachen, da der Computer die Datei nur als eine Sammlung von Zeichen sieht. Das Problem ist, dass askopenfile den Pfad eines Verzeichnisses und keine Datei zurückgibt. Dann versucht der Code das Verzeichnis zum Lesen zu öffnen, was den invalid file Fehler anzeigt, den Sie gesehen haben.

Was Sie stattdessen verwenden sollten, ist askopenfilename, die den Benutzer bitten, eine Datei, kein Verzeichnis zu wählen.

+0

Danke Herr Xamuel. Es funktioniert. – Uttam

Verwandte Themen