Sunteți pe pagina 1din 14

Cap.

Module in Python avansat


Modulul re – regular expresions

- Regex – secventa de caractere cu ajutorul careia cautam intr-un sir;

- Se utilizeaza pentru cautarea si inlocuirea unor subsiruri, fiind des


utilizat in automatizari si testari ;

- Metacaracterele utilizate (vezi exemplu);

- \ - secventa de evadare pt unui character – Ex: \$ - semnul dolar;

- re.search('secventa de cautare', 'sir') - returneaza True or False;

- re.match('secventa de cautare', 'sir') - cauta potrivirea


Copyright - InfoAcademy - 2016 2
Modulul re – regular expresions - continuare

- re.findall('secventa de cautare', 'sir'); - returneaza o lista cu toate


aparitiile;

- re.split('secventa de cautare', 'sir'); - Face split dupa secventa

- re.sub('secventa de cautare', 'sir de inlocuit', 'sir inlocuitor');

- Arta utilizarii Regex consta in crearea secventele de cautare, utilizand


instrumentele puse la dispozitie;

Exemplul 801
Copyright - InfoAcademy - 2016 3
Modulul ntplib

- NTP (Network Time Porotcol) este un serviciu de retea ce are ca scop


sincronizarea ceasului diferitelor dispozitive de retea. Python are un
modul care face acest lucru.;

- Descarcare: https://pypi.python.org/packages/source/n/ntplib/ntplib-
0.3.3.tar.gz

- Instalare: In command prompt cd c:/../nume_director


python setup.py install

sau pip 3 install ntplib


Copyright - InfoAcademy - 2016 4
Modulul ntplib - continuare

- Cererea catre serverul NTP contine patru parametrii:

• host – Pentru test utilizam serverul: (vezi exercitiu)


Reprezinta serverul ntp de la care solicitam informatia;
• Versiunea – Utilizam 2;
• Port – NTP standard este123;
• Timeout – Utilizam 5. Dupa cate secunde va genera un mesaj de timeout.

Daca serverul nu raspunde returneaza Eroare.

Exemplul 802
Copyright - InfoAcademy - 2016 5
Modulul telnetlib

- Telnet este un serviciu de retea ce are ca scop conectarea la distanta cu


diferite dispozitive de retea. Este un modul standard;

- Cream un obiect telnet, dupa care utilizam urmatoarele metode:

- ConectTelnet telnetlib.telnet(host)

- read_until() ConectTelnet.read_until('Login: ', 5)

- write ConectTelnet.write(user + '\r\n')

- close Exemplul 803


Copyright - InfoAcademy - 2016 6
Modulul ftp Exemplul 804

- FTP este un serviciu de retea ce are ca scop transferul de fisiere la


distanta cu diferite dispozitive de retea. Este un modul standard;

- Pentru a crea un obiect ftplib să apelam comanda:

- ftp = ftplib.FTP('host'). host poate fi o adresa IP sau numele domeniului;

- Prin apelarea ftp.login()se realizeaza conectarea la serverul ftp


declarat la crearea obiectului;

- Cu ajutorul comenzii ftp.retrlines('list') extragem fisierele din serverul ftp;

- ftp.close() sterge obiectul ftp creat si inchide conexiunea.


Copyright - InfoAcademy - 2016 7
Modulul HTML

- Exista doua tipuri de module: module pentru deschis pagini web si


module pentru crearea de pagini web;

- Pentru deschiderea de pagini web putem utiliza: httplib, urllib, requests.


Noi o sa-l utilizam pe ultimul. Poate fi descarcat de la adresa:
https://pypi.python.org/pypi/requests

- URL (Uniform Resource Locator) este un protocol care ne permite


localizarea unor resurse din internet. Secventa de cautare este de
forma:
<protocol>://<DNS>/<nume_local>
Copyright - InfoAcademy - 2016 8
Metodele modulului requests
Tip de Explicatie
cerere
GET Metoda GET înseamnă a prelua orice informație identificata prin cerere.
Dacă cererea se referă la un procedeu de producere a datelor, va fi returnat
ca entitatea unui raspuns și nu textul sursă a procesului.
POST Metoda POST este folosita pentru a solicita ca serverul să accepte informatii
incluse în cerere. POST este conceput pentru a permite o metodă uniformă
pentru a acoperi următoarele funcții:
-Adnotarea resurselor existente;
-Postarea unui mesaj la un avizier, newsgroup, lista de discutii, sau un grup
similar de articole;
-Extinderea unei baze de date printr-o operație de adăugare.
Metoda POST depinde de cerere deoarece foloseste URL-ul pentru a transmite
informatia dorita de la utilizator catre server.
Copyright - InfoAcademy - 2016 9
Metodele modulului requests - continuare
HEAD Metoda HEAD, seamana cu GET cu excepția faptului că serverul nu trebuie să
returneze corpul mesajului în raspuns. Informatia continuta în header trebuie să
fie identica cu informațiile trimise ca răspuns la o solicitare GET. Aceasta
metoda poate fi utilizată pentru obținerea de informatie despre pagina web
implicata fără a transfera continut. Această metodă este deseori folosită pentru
testarea link-urilor pentru a determina valabilitatea, accesibilitatea, sau
modificarea recenta.
OPTIONS Reprezintă o cerere pentru informații despre opțiunile de comunicare
disponibile pentru cereri sau raspunsuri.
DELETE Metoda DELETE sterge o resursa alocata pe serverul web
PUT Metoda PUT este similara cu POST în sensul ca transmite informatie catre server
în vederea prelucrarii și stocarii. Totusi aceasta metoada difera fata de POST în
sensul ca PUT transfera efectiv fisierul selectat în cadrul unui URL catre server
pentru a putea fi accesat pe server chiar și de aplicatii externe.
Copyright - InfoAcademy - 2016 10
Erori la conectare

- Putem să determinam dacă pagina a fost extrasa cu success sau ce tip


de eroare am intampinat dupa codul raspuns(status-code). Iata cele mai
uzuale coduri intalnite:
200 – Pagina a fost incarcata cu success.
301 – MOVED_PERMANENTLY
307 – Pagina a fost temporar redirectata (temporary_redirect)
403 – Accesul este interzis (FORBIDDEN)
404 – Fisierul nu a fost gasit
408 – Cererea a expirat (request timeout)
500 – INTERNAL_SERVER_ERROR
Copyright - InfoAcademy - 2016 11
Modulul smtplib Exemplul 806 - 7

- SMTP – protocol pentru transmis/forward e-mail

- smtplib – client SMTP

- import smtplib
- smtpOb = smtplib.SMTP([host[,port[,localhost]]])

- Obiectul creat are o metoda sendmail cu trei parametri:


- Adresa expeditor;
- Adresa destinatar;
- Mesaj.

- Exista si un modul de primire de email-uri: poplib


Copyright - InfoAcademy - 2016 12
Modulul pygal Exemplul 808

- Este utilizat pentru desenarea de grafice. Modulul trebuie instalat;

- Graficele sunt create sub forma de fisiere Scalable Vector Grafics. Pot
fi deschise cu orice browser si editate cu editoare de text;

- Putem crea obiecte:


- pygal.Bar(); - bare vertical alaturate
- pygal.StackedBar(); - bare vertical suprapuse
- pygal.Line(); - puncte unite de linii alaturate
- pygal.StackedLine(); - puncte unite de linii suprapuse
- pygal.Pie() -
- pygal.maps()

Copyright - InfoAcademy - 2016 13


Modulul pygal - continuare

- Putem asocia un sir de caractere unui punct de pe axa x: x_labels = [ ].

Putem astfel sa asociem fiecare valoare cu o denumire.


Ex: Capitol – nota, ziua – valoarea;

- Daca fisierele exista vor fi suprascrise;

- Pentru a converti graficele rezultate putem utiliza alte module, Cum ar


fi: cssselect , tinycss – module conversie grafice, lxml;

- tkinter - modul graphic standard al Python

Copyright - InfoAcademy - 2016 14

S-ar putea să vă placă și