Modules et outils Internet
139
Modules et outils Internet
Cette section résume les services Internet de Python.
Bibliothèques courantes
Les modules qui suivent sont parmis les plus utilisés dans l’en-
semble des modules Internet de Python. Ce n’est qu’un échan-
tillon représentatif ; consultez la Python Reference Library pour
une liste plus complète.
socket
Support bas niveau des communications réseau (TCP/IP,
UDP, etc). Il fournit des interfaces pour envoyer et recevoir
des données au travers de sockets de style BSD : socket.
socket() crée un objet disposant de méthodes liées aux soc-
kets (comme objet.bind()). La plupart des modules de pro-
tocoles et de serveurs utilisent ce module en interne.
select
Interface pour la fonction select d’Unix et de Windows.
Celle-ci a pour rôle d’attendre une activité sur un fichier ou
une socket parmis N. Généralement utilisée pour multi-
plexer plusieurs flux ou pour implémenter des attentes limi-
tées dans le temps (timeout). Ne fonctionne que sur les sockets
sous Windows, pas sur les fichiers.
cgi
Support pour les scripts CGI côté serveur : cgi.FieldStorage
parcours le flux d’entrée ; cgi.escape applique les conven-
tions d’échappement HTML au flux de sortie. Pour parcou-
rir et accéder aux informations d’un formulaire, utilisez
form=cgi.FieldStorage() dans un script, après quoi form est
un objet similaire à un dictionnaire contenant une entrée
par champ du formulaire (par exemple, form["nom"].value
est le texte dans le champ nom).
_Python.book Page 139 Mercredi, 18. mai 2005 3:56 15
Python — précis & concis
140
urllib, urllib2
Récupère des pages web et les sorties de scripts serveurs à
partir de leurs adresses internet (URL) : urllib.urlopen(url)
ou urllib.urlretrieve(distant, local) retournent un
fichier avec des méthodes read. Les URL de type HTTP, FTP,
gopher et fichier local sont supportées. Contient également
des outils pour l’échappement du texte d’une URL : urllib.
quote_plus(chaîne) réalise l’échappement pour du texte
inséré dans un flux HTML sortant.
ftplib
Modules pour le protocole FTP (transfert de fichiers). ftplib
fournit une interface pour le transfert de fichiers par Inter-
net dans les programmes Python. À la suite de ftp = ftplib.
FTP('nom_site'), l’objet ftp contient des méthodes pour la
connexion, changer de répertoire, récupérer et envoyer des
fichiers, etc. Les modes de transfert texte et binaire sont sup-
portés. ftplib fonctionne sur toute machine équipée de
Python et d’une connexion internet.
httplib, nntplib
Modules pour les protocoles HTTP (Web) et NNTP (nouvel-
les, ou news).
poplib, imaplib, smtplib
Modules pour les protocoles de courrier électronique POP,
IMAP (récupération du courrier) et SMTP (envoi du cour-
rier).
telnetlib, gopherlib
Modules pour les protocoles telnet et gopher.
htmllib, sgmllib, xmllib, paquetage xml, HTMLParser
Parcours du contenu des pages Web (documents HTML,
SGML et XML). Le paquetage xml est nouveau en version 2.
0 ; HTMLParser est nouveau en version 2.2.
xmlrpclib
Protocole d’appel de procédures distantes XML-RPC (nou-
veau en version 2.2).
_Python.book Page 140 Mercredi, 18. mai 2005 3:56 15
Modules et outils Internet
141
email.*
Décompose et construit des messages de courrier électroni-
que, avec en-têtes et pièces jointes.
rfc822
Parcours des lignes d’en-têtes de style courrier électronique.
xdrlib
Encodage portable de données binaires (voyez aussi le
module socket plus haut dans cette liste).
mhlib, mailbox
Traitement des messages et boîtes aux lettres électroniques
complexes.
mimetools, mimify
Traitement des messages de style MIME.
multifile
Lecture de messages comportant plusieurs parties.
uu, binhex, base64, binascii, quopri
Encodage et décodage de données binaires (ou autre) trans-
mises sous forme de texte.
urlparse
Décomposition des chaînes URL en leurs composantes.
SocketServer
Structure pour des serveurs réseau généraux.
BaseHTTPServer
Implémentation élémentaire d’un serveur HTTP.
SimpleHTTPServer, CGIHTTPServer
Modules pour le traitement de requêtes serveur HTTP spéci-
fiques.
rexec, Bastion
Mode restreint d’exécution de code. Supporte l’exécution
restreinte (mode de confiance, sécurisé) de code, particuliè-
rement utile pour les applications liées à l’Internet.
_Python.book Page 141 Mercredi, 18. mai 2005 3:56 15
Python — précis & concis
142
Le tableau 28 donne quelques-uns de ces modules triés selon le
protocole.
Autres modules intégrés
Cette section traite d’une poignée d’autres modules intégrés.
Voyez la Python Library Reference pour des détails sur tous les mo-
dules prédéfinis et les sites web Vaults of Parnassus et PyPI (dé-
cris dans la section Autres recommandations, page 153) pour des
modules et outils tierces.
Le module math
Le module math donne l’accès depuis Python aux outils mathé-
matiques de la bibliothèque C standard. Le tableau 29 donne les
attributs de ce module ; voyez la Python Library Reference pour
Tableau 28. Modules Internet Python triés par protocoles
Protocole Fonction usuelle Numéro de
port
Modules Python
HTTP Pages web. 80 httplib, urllib,
xmlrpclib
NNTP Nouvelles Usenet. 119 nntplib
FTP (données) Transferts de
fichiers.
20 ftplib, urllib
FTP (contrôle) Transferts de
fichiers.
21 ftplib, urllib
SMTP Envoi de courrier. 25 smtplib
POP3 Récupération de
courrier.
110 poplib
IMAP4 Récupération de
courrier.
143 imaplib
Telnet Lignes de
commande.
23 telnetlib
Gopher Transferts de
documents.
70 gopherlib,
urllib
_Python.book Page 142 Mercredi, 18. mai 2005 3:56 15
Autres modules intégrés
143
plus de détails. Voyez également le module cmath pour des outils
sur les nombres complexes et le système NumPy pour des travaux
numériques avancés. frexp et modf retournent une paire pour un
seul paramètre.
Le module time
Suivent quelques-unes des fonctions exportées par le module
time. Voyez la Python Library Reference pour plus de détails.
clock()
Retourne le temps processeur courant exprimé en secondes
sous la forme d’un nombre à virgule flottante (le temps pro-
cesseur du processus jusqu’ici). Utile pour mesurer les per-
formances de portions de code.
ctime(secondes)
Convertit une date exprimée en secondes depuis l’epoch en
une chaîne représentant le temps local (par exemple,
ctime(time())). Depuis la version 2.1, le paramètre est
optionnel et vaut la date courante s’il est omi.
time()
Retourne un nombre à virgule flottante représentant la date
en secondes en temps universel depuis l’epoch. Sous Unix,
l’epoch est le 1er janvier 1970.
Tableau 29. Attributs du module math
pi e acos(x) asin(x)
atan(x) atan2(y, x) ceil(x) cos(x)
cosh(x) exp(x) fabs(x) floor(x)
fmod(x, y) frexp(x) hypot(x, y) ldexp(x, y)
log(x) log10(x) modf(x) pow(x, y)
sin(x) sinh(x) sqrt(x) tan(x)
tanh(x)
_Python.book Page 143 Mercredi, 18. mai 2005 3:56 15
1 / 25 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !