Nevím, ast neznám, moc jsem to nepochopil, a myslím, že chyba může být v
něm. Pokud na něm netrváš, použij pickle.
V tvém příkladu chybí na začátku deklarace kodování a při ukládání ti to
také musí házet chybu.
Bezpečně funguje:
# -*- coding: utf-8 -*-
text=u"Žluťoučký kůň pěl ďábelské ódy."
f=open("Kun.txt","w")
f.write(text.encode("cp1250")) # ok
f.close()
geon
Luboš Melichar napsal(a), dne 15.9.2009 12:47:
dodavam tedy
db = ast.literal_eval(text)
by mi mela prevest string na pozadovany pythonovsky typ, v tomto
pripade slovnik..
import ast
ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
{'muffin': 'lolz', 'foo': 'kitty'}
http://docs.python.org/library/ast.html
2009/9/15 Luboš Melichar <lubos.melic...@gmail.com>:
Zdravim,
jsem začátečník a tak dopředu prosím o trpělivost..
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()
#PRACE S DB
db = ast.literal_eval(text) #prevod stringu na seznam slovniku
db['maďarština'] = 'keřmideretvář'
#ZAPIS DO SOUBORU
text2 = str(db)
f = open("db2.db")
f.write(text2.encode('cp1250')) #ulozeni
f.close()
bohuzel s cestinou mam neprekonatelny problem, ve vystupnim souboru se
mi to uklada v unicodu.
kodovani v obou souborech mam samozrejme cp1250.
diky za popostrceni
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python