17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Références relatives<br />

Structuration du code<br />

CHAPITRE 5<br />

Dans un paquet, chaque module peut se référer à d’autres modules. Lorsque ces<br />

modules sont dans le même répertoire, il est bien sûr possible d’utiliser une notation<br />

relative sans avoir à préfixer le module des noms des paquets. Si ces modules sont dans<br />

un répertoire voisin, il est nécessaire d’écrire le chemin absolu pour chacun d’entre eux.<br />

Importations dans le module fiche_client<br />

Depuis Python 2.5, il est possible de réaliser des imports relatifs à la localisation du<br />

module en cours, en utilisant la notation . pour désigner le répertoire courant. Par<br />

exemple, si un deuxième module utils.py, placé dans le même répertoire que le<br />

module absmod3.py, les deux écritures suivantes sont équivalentes.<br />

Importation relative<br />

Cette écriture n’a d’intérêt que pour récupérer des références dans des modules situés<br />

dans une arborescence de répertoires.<br />

Dans l’exemple du paquet FichierClients, le module fiche_client.py peut<br />

atteindre le module acces_bd.py ainsi : from ..bdd import acces_bd.<br />

De manière similaire au fonctionnement des chemins dans les interpréteurs de commande<br />

MS-Windows ou *nix, chaque point de la directive from permet de remonter<br />

dans le répertoire parent du répertoire en cours.<br />

Exceptions<br />

import FichierClients.noyau.application<br />

import FichierClients.description<br />

import liste_clients<br />

...<br />

from absmod3 import absmod3<br />

from . import absmod3.absmod3 as absmod3<br />

Lorsqu’un événement ou des conditions d’exécution ne sont pas souhaitables, il est<br />

possible de lever une exception. L’interpréteur passe alors dans un mode particulier<br />

où il stoppe l’exécution du programme en cours et affiche une erreur. C’est le cas par<br />

exemple lorsque l’on tente une division par zéro.<br />

139

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

Saved successfully!

Ooh no, something went wrong!