12.07.2015 Views

Python

Python

Python

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.1. Modul 73# provjera je li se vrti kao programif __name__ == '__main__':# DaNaredbeelse:# ne, uvucen je kao modulNaredbe8.1.1 Traºenje modulaKad se moduli u£itavaju, interpreter traºi listu imenika, foldera u sys.path.sys.path moºe izgledati ovako:Tipi£na vrijednost['', '/usr/local/lib/python2.5','/usr/local/lib/python2.5/lib-tk','/usr/local/lib/python2.5/lib-dynload','/usr/local/lib/python2.5/site-packages']Prazan string odnosi se na trenuta£ni imenik, folder. Novi imenici dodaju se u put traºenja vrlojednostavno - dodavanjem £lana (stringa puta) u ovu listu.8.1.2 U£itavanje modula i compilacijaDo sada su moduli prikazani kao datoteke koje sadrºe <strong>Python</strong> kôd. Mežutim, moduli u£itani s naredbomimport mogu pripadati nekoj od £etiri op¢e kategorije:• Programi pisani u <strong>Python</strong>u (.py datoteke)• C ili C++ pro²irenja koja su compilirana u zajedni£kim (shared) knjiºnicama ili DLL-ovima.• Paketi koji sadrºe skupove modula• Ugraženi moduli pisane u C-u i povezani s <strong>Python</strong> interpreteromKad se na primjer, traºi modul primjer, interpreter pretraºuje svaki od direktorija u sys.path zasljede¢e datoteke (navedene po redoslijedu pretraºivanja):1. Imenik ili folder primjer koji je deniran u paketu2. primjer.so, primjermodule.so, primjermodule.sl, ili primjermodule.dll (compilirana pro-²irenja)3. primjer.pyo (samo ako je -O ili -OO opcija kori²tena)4. primjer.pyc5. primjer.pyZa .py datoteke, kad se modul prvi put u£ita, on se prevede, compilira u mežukôd (eng. bytecode)i zapisuje na disk u datoteku s pro²irenjem .pyc. U idu¢im u£itanjima, interpreter puni ovaj prireženimežukôd, osim ako ne dože do promjene originalne .py datoteke (pa se .pyc datoteka mora regenerirati.Datoteke koje zavr²avaju na .pyo koriste se u svezi s interpreterskom -O opcijom. Ove datoteke sadrºemežukôd s izba£enim brojevima linija i drugim informacijama potrebnim za traºenje pogre²aka (eng.debugging). Kao rezultat toga, kôd je ne²to manji i dopu²ta interpretoru ne²to brºe izvoženje. U slu£aju-OO opcije svi dokumentacijski stringovi se takožer izbacuju iz datoteka. Ovo brisanje dokumentacijskihstringova pojavljuje se samo kad se .pyo datoteke stvaraju, a ne kad se pune. Ako niti jedna od ovih

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!