nach dem durchforsten von Literatur, Internet und des Forums habe ich leider keine passende Lösung gefunden, die mein Problem löst.
Ich schreibe eine Hausarbeit für die automatische Sprachverarbeitung im polnischen. Dafür benutze ich ein Modul namens Morfeusz. Dieses Modul stemmt Wörter und analysiert sie auf ihre Stämme. Damit habe ich jedoch nichts zu tun. Das macht seinen Job von alleine.
Mein Code ist auch sehr einfach/primitiv geschrieben denke ich, jedoch macht es was es soll
Mein Problem ist nun folgendes: Ich habe mit Tkinter eine Oberfläche geschaffen, in der nach Eingabe in ein Textfeld die Lösung in ein Mehrzeiliges Textfeld überträgt. Soweit so gut. Jedoch sieht das immer so aus: u'mie\u107:v2 ist also noch codiert.
der Befehl:
Code: Alles auswählen
codecs.open('filename', encoding='utf8').read()
Aber soweit ich aus der Literatur entnehmen kann erfolgt die richtige Ausschreibung erst mit dem Print Befehl. Ich habe jedoch keinen, da ich das Ergebnis mit
Code: Alles auswählen
Ergebnisfeld.insert("end", str(ergebnis))
Ich habe auch schon verschiedene Methoden mit
Code: Alles auswählen
Ergebnisfeld.insert("end", str(u'ergebnis'))
Mit
Code: Alles auswählen
codecs.encode(obj[, encoding[, errors]])
Kann mir irgendwer einen Denkanstoß geben??
Vielen Dank schon mal im Voraus!!!!
Hier noch ein paar Infos:
Python 2.7
System Ubuntu 14.04 LTS
Code: Alles auswählen
import codecs
from morfeusz import *
from Tkinter import *
from tkFileDialog import askopenfilename
#==============================================================================
# #Hauptfenster
#==============================================================================
main = Tk()
main.title('Automatische Sprachverarbeitung')
#==============================================================================
#Unterprogram leitet Morfeusz-Analyse ein
#==============================================================================
def send1():
s = Eingabefeld1.get()
for x in analyse(s):
ergebnis = x
Ergebnisfeld.insert("end", str(ergebnis))
def send2():
s = Eingabefeld2.get()
d = codecs.open(s, encoding='utf8').read()
for x in analyse(d):
ergebnis = x
Ergebnisfeld.insert("end", str(ergebnis))
def browse():
file_path = askopenfilename(filetypes=[("Text File",'.txt')])
Eingabefeld2.insert("end", str(file_path))
def clear():
Eingabefeld1.delete(0, END)
#==============================================================================
# #Definition der einzelnen Frame Abschnitte
#==============================================================================
Frame = Label(main).grid(row=0, column=0, rowspan=3, columnspan=3)
#==============================================================================
# #Eingabe- und Textfelder und deren Zuordnung
#==============================================================================
Text1 = Label(main,text='Text Eingabe:',width=15, anchor="w").grid(row=0, column=0, padx=10)
Text2 = Label(main,text='Datei:', width=15, anchor="w").grid(row=1, column=0, padx=10)
Text3 = Label(main,text='Resultat:', width=15, anchor="w").grid(row=2, column=0, padx=10)
Eingabefeld1 = Entry(main)
Eingabefeld1.grid(row=0, column=1, sticky="nsew", padx=5, pady=5)
Eingabefeld2 = Entry(main)
Eingabefeld2.grid(row=1, column=1, sticky="nsew", padx=5, pady=5)
Ergebnisfeld = Text(main)
Ergebnisfeld.grid(row=2, column=1, sticky="nsew", padx=5, pady=5)
Knopf0 = Button(main,text='Clear',anchor="e", command=clear).grid(row=0, column=2, padx=5, pady=5)
Knopf1 = Button(main,text='Analyse',anchor="e", command=send1).grid(row=0, column=3, padx=5, pady=5)
Knopf2 = Button(main,text='Analyse',anchor="e", command=send2).grid(row=1, column=3, padx=5, pady=5)
Knopf3 = Button(main,text='Browse',anchor="e", command=browse).grid(row=1, column=2, padx=5, pady=5)
Knopf4 = Button(main,text='Ende', anchor="s", command=main.destroy).grid(row=3, column=1, padx=5, pady=10)
#==============================================================================
# Schleifen ende
#==============================================================================
main.mainloop()