[python] python ast.literal_eval a čeština

Pavel Kosina geon na post.cz
Úterý Září 15 12:38:59 CEST 2009


Luboš Melichar napsal(a), dne 15.9.2009 12:31:
> Zdravim,
> jsem začátečník a tak dopředu prosím o trpělivost..
>   
to je snad již zde samozřejmost, ti "zlí a oškliví" snad již odešli ;-)

> Zkouším toto, v souboru mít uložený slovník, případně pole slovníků..
>
> {'cz': 'hezký', 'en': 'nice', 'de': 'schön'}
>
> vyčíst ze souboru, převést na slovník, pracovat s ním, uložit
>
> #VYCTENI ZE SOUBORU
> f = open("db.db")
> text = unicode(f.read(),('cp1250'))
> f.close()
>
>   

připadá mi, že čteš nějakou databázi, v které je bůhvíco.
> #PRACE S DB
> db =  ast.literal_eval(text)       #prevod stringu na seznam slovniku
> db['maďarština'] = 'keřmideretvář'
>
>   
co je to ast? Lepší by bylo, kdybys ukázal/vyzkoušel nefunkčnost na 
něčem, co si všichni můžeme vyzkoušet.

> #ZAPIS DO SOUBORU
> text2 = str(db)
> f = open("db2.db")
> f.write(text2.encode('cp1250'))  #ulozeni
> f.close()
>
>   
také je možné, že to bylo špatně uloženo předtím, a ted se chyba jen 
znovu a znovu načítá.
> bohuzel s cestinou mam neprekonatelny problem, ve vystupnim souboru se
> mi to uklada v unicodu.
> kodovani v obou souborech mam samozrejme cp1250.
>   
zkoušel jsi http://www.py.cz/Cestina2X ?


-- 
geon
Pavel Kosina



Další informace o konferenci Python