Définition d'un module
De Centre de Ressources Numériques - Labomedia
Révision de 18 octobre 2017 à 19:35 par Serge (discussion | contributions) (Serge a déplacé la page Blender:Définition d'un module vers Définition d'un module par-dessus une redirection)
- Importer un module python dans un script
- 1 - Définition d'un module: Principe des modules.
- 2 - Modules et sous-modules: Modules et sous-modules, package.
- 3 - Importer un module en respectant les PEP et pour que ce soit compréhensible pour les débutants.
- 4 - Bytecode : explications sur les fichiers *.pyc.
Sommaire
Définition d'un module
Modules standards
- Python possède une grande bibliothèque standard, fournissant des outils convenant à de nombreuses tâches diverses. Ces modules sont installés avec votre version de python. Par exemple, le module time. Le nombre de modules de la bibliothèque standard peut être augmenté avec des modules spécifiques écrits en C ou en Python.
- Une liste de la doc python
Modules spécifiques
Un module spécifique est un module qui n'est pas standard. OSC.py est un module spécifique. Vous pouvez créer ce que vous voulez, mais attention au nom pour ne pas avoir de conflits avec des modules existants.
Liste des modules installés
Créer un script module_list.py
import sys import os for p in sys.path: print os.listdir( p )
lancer dans un terminal dans le dossier avec python module_list.py
Comment marche les modules ?
- import OSC va lire le fichier OSC.py et importer toutes les fonctions
- import osc va lire le fichier osc.py et importer toutes les fonctions
Une fonction decode de OSC sera appelée par
import OSC
traduction = OSC.decode(machin)
osc est un module totalement différent et indépendant de OSC, puisque python est sensible à la casse
Où python va -t-il chercher les modules ?
Chemin de recherche des modules
Dans un terminal, ourir un prompt python
pierre@PC4:~$ python Python 2.7.2+ (default, Oct 4 2011, 20:03:08) [GCC 4.6.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path [, '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client'] >>>
sys.path liste tous les dossiers où python va chercher les modules.
Python cherche dans cet ordre
- le répertoire courant
- les répertoires spécifiés par la variable d'environnement définie par un export: PYTHONPATH = ${PYTHONPATH}:/votre/chemin/vers/vos/libs
- le répertoire des bibliothèques python /usr/lib/python2.7 (2.7 ou votre version).