Dobrý den,
Přiznám se, že už jsem se svou chybou bezradný, protože mi nejde do hlavy jak je to možné. Mám slovník, do kterého načtu slova. Pak program projíždí všechny načtené možnosti slov a přiřaruje jim slova ze slovníku. pokud jsou slova bez diakritiky vše funguje, ale když se objeví háčky a čárky, slovník hlásí chybu, že nic nenalezl.
Kód (ve skratce):
#!/usr/bin/env python
# -*- tzdf coding: UTF8
def funkce(self):
print(self.slovo.vzor) #vypise capartě
print("x"+self.slovo.vzor+"x") #raději jestli kolem slova neni neviditelny "binec"
p = self.vsechny_vzory["capartě"] #zde se slovo vyhleda
if p:
print("capartě nalezen") #program úspešně vypise že capartě nalezl (ale to jsem ho tam dodal ručně jako debag)
ze_slovniku = self.vsechny_vzory[self.slovo.vzor] # zde už program spadne
# self.slovo.vzor je řetězec
# self.vsechny_vzory je slovni {} a capartě tam opravdu je
Výpis programu:
capartě
xcapartěx
capartě nalezen
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "./appl.py", line 719, in listbox1dbclick
self.rozgenerovani()
File "./appl.py", line 754, in rozgenerovani
vzor = self.vsechny_vzory.seznam_vzoru[vyhledej]
KeyError: u'capart\u011b'
Díky moc, pokud někdo máte jakékoliv tušení proč se tak děje (kdybych do slovniku uložil caparte a hledal caparte vse funguje)
Michal