You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
9.5. Otpornost 81form = """\Dragi %(ime)s,Molim Vas vratite mi moj %(vlasnistvo)s ili mi platite $%(iznos)0.2f Eura."""print form % { 'ime': 'gosp. Miki','vlasnistvo': 'bicikl','iznos': 150,}S po²tovanjem,<strong>Python</strong> MlažiZa ovakve obrasce koji imaju puno linija i £lanova koji se trebaju zamijeniti, puno je jasnije napisatijednu print naredbu s popisom £lanova u rje£niku, nego svaki tekst pisati pojedina£no.9.5 Otpornost£esto je potrebno spremiti objekt u datoteku i poslije ga iz datoteke pro£itati. Jedan na£in je da se na£ininiz funkcija za spremanje objekta u datoteku i isto tako funkcije za £itanje. Tu mogu nastati razli£itipristupi, ovisno o sklonostima i razmi²ljanju programera. Jedan ugraženi pristup ovom problemu jeserijalizacija objekta koja se postiºe upotrebom pickle i shelve modula. Modul pickle serijaliziraobjekt u tok okteta (eng. stream of bytes) koje se mogu zapisati u datoteku. Na primjer, sljede¢i kôdzapisuje objekt u datoteku:import pickleobject = someObject()f = open(filename,'w')pickle.dump(object, f) # Sprema objektPonovno obnavljanje objekta postiºe se sljede£im kôdom:import picklef = open(filename,'r')object = pickle.load(f) # Obnavlja objektModul shelve je sli£an, ali objekte sprema u bazu podataka sli£nu rje£niku:import shelveobject = someObject()dbase = shelve.open(filename)dbase['key'] = object...object = dbase['key']dbase.close()# Otvara bazu# Sprema objekt u bazu# Vra¢a objekt iz baze# Zatvara bazuU oba slu£aja, samo se serijalizirani objekti mogu spremiti u datoteku. Ve¢ina <strong>Python</strong> objekatase moºe serijalizirati, ali objekti posebne vrste, kao ²to su na primjer datoteke, ne mogu se spremati iobnavljati na ovaj na£in.