28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

import glob<br />

>>> glob.glob(’*.py’)<br />

[’primes.py’, ’random.py’, ’quote.py’]<br />

10.3 Argumentele în linia de comandă<br />

Scripturil obişnuite reclamă adesea procesarea liniilor de comandă cu argumente. Aceste argumente sunt depozitate,<br />

sub formă de listă, în atributele argv al modulului sys. Spre exemplu, în urma execuţiei următoarei linii de<br />

comandă ’<strong>Python</strong> demo.py one two three’ va rezulta :<br />

>>> import sys<br />

>>> print sys.argv<br />

[’demo.py’, ’one’, ’two’, ’three’]<br />

Modulul getopt prelucrează sys.argv aplicâd regula functiei UNIX getopt(). O prelucrare mai puternică şi<br />

mai flexibilă a liniei de comandă este oferită de modulul optparse.<br />

10.4 Redirectarea semnalării erorilor şi terminarea execuţiei programului<br />

Modulul sys conţine şi atribute pentru stdin, stdout şi stderr. Cel din urmă este utilizat pentru generarea de<br />

avertismente şi mesaje de eroare, pentru a le face vizibile chiar şi când stdout este redirectat :<br />

>>> sys.stderr.write(’Warning, log file not found starting a new one\n’)<br />

Warning, log file not found starting a new one<br />

Modalitatea cea mai directă de a încheia un scrip este aceea de a folosi ’sys.exit()’.<br />

10.5 Unificarea tratării şirurilor<br />

Modulul re oferă ca instrumente expresii standard pentru procesarea de nivel avansat a şirurilor. Pentru potriviri<br />

complexe si pentru lucrul cu şirurile, sunt puse la dispoziţia utilizatorului expresii care oferă soluţii optimizate şi<br />

rapide :<br />

>>> import re<br />

>>> re.findall(r’\bf[a-z]*’, ’which foot or hand fell fastest’)<br />

[’foot’, ’fell’, ’fastest’]<br />

>>> re.sub(r’(\b[a-z]+) \1’, r’\1’, ’cat in the the hat’)<br />

’cat in the hat’<br />

Când impuse doar capabilităţi reduse, atunci este de preferat lucrul cu metodele specifice şirurilor, pentru că sunt<br />

uşor de citit şi de depanat :<br />

>>> ’tea for too’.replace(’too’, ’two’)<br />

’tea for two’<br />

70 Capitolul 10. Pe scurt despre Standard Library - partea I

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

Saved successfully!

Ooh no, something went wrong!