16.1 sys modul
Prvi modul koji želim da ti pokažem je sys. Kao što mu i ime govori, on sadrži neke specifične funkcije vezane za komunikaciju Pythona sa operativni sistemom koji ga pokreće. U ranijim primerima sam ti već pokazao jedan primer rada sa ovim modulom – video si kako u listi sys.argv Python čuva argumente prosleđene programu putem komandne linije.
Međutim, sys modul sadrži i mnogo više od ove liste. Možda u nekom trenutku želimo da proverimo koja verzija Python-a je instalirana na računaru korisnika, kako bi bili sigurni da se koristi Python3. Možemo koristiti sys modul da nam pruži i te informacije:>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=3, micro=2, releaselevel='final', serial=0)
>>> sys.version_info.major >= 3
True
>>>
Modul sys sadrži promenljivu version_info, u kojoj su, unutar tuple, uskladištene informacije o verziji programa. Prvi podatak u tupli je glavna verzija Python programa. Ove informacije nam mogu poslužiti kao obezbeđenje da će naš program pokrenuti samo Python3.
Takođe, modul sys ima i funkciju sys.exit() koja nam služi da izađemo iz našeg programa na željenom mestu. Ukoliko ovoj funkciji prosledimo neki string, to će naš operativni sistem smatrati kao obaveštenje o greški koja se desila u programu:
>>> sys.exit('Python se skršio')
Python se skršio
lenj@lenj-Gm:~$
Vidimo da smo ovom komandom izašli iz interaktivnog prompta, i naš operativni sistem nam je prikazao zbog čega.
Možemo da uklopimo ove dve funkcionalnosti u jednu – skripta koja proverava mogućnost pokretanja programa?
Sačuvaj kao provera.py:
import sys
if sys.version_info.major < 3:
sys.exit('Ovaj program treba da pokrene Python3!!!!!')
else:
print('Ovaj program normalno radi.')
Kada ga pokrenemo:
$ python provera.py
Ovaj program treba da pokrene Python3!!!!!
$ python3 provera.py
Ovaj program normalno radi.
Ova skripta će jednostavno upozoriti korisnika da ne upotrebljava pravilnu verziju Pythona (ukoliko korisnik pokušava da pokrene program pomoću Python2), i neće pokrenuti program, ali, ako je sve u redu, program će da radi normalno.
Ovo je samo maleni delić mogućnosti koje nam modul sys pruža. Istraži i neke druge – slobodno, bez straha.
16 Standardne biblioteke |
Indeks | 16.2 logging modul |
0 Коментари
Pokažite nam šta mislite o ovome!