corrections du cours après la présentation
This commit is contained in:
@ -58,11 +58,11 @@ Organisation modulaire
|
||||
- identifier les sous-composants indépendants (rendre les programmes réutilisables)
|
||||
- forcer l'abstraction (augmenter la sureté du programme)
|
||||
|
||||
modules chargés et modules importés
|
||||
modules chargés et modules importés
|
||||
--------------------------------------
|
||||
|
||||
Les modules susceptibles d'être chargés sont dans le :envvar:`PYTHONPATH`.
|
||||
Mais comment peut-on savoir ou ils sont physiquement (sur le disque dur) ?
|
||||
Mais comment peut-on savoir ou ils sont physiquement (sur le disque dur) ?
|
||||
|
||||
.. envvar:: `sys.modules`
|
||||
|
||||
@ -73,10 +73,10 @@ False
|
||||
True
|
||||
>>> sys.modules['twisted']
|
||||
<module 'twisted' from '/usr/lib/python2.7/dist-packages/twisted/__init__.pyc'>
|
||||
>>>
|
||||
>>>
|
||||
|
||||
.. attention:: un module présent dans `sys.modules` n'est pas forcément importé
|
||||
dans l'espace de nommage usuel. Il faut importer le module pour
|
||||
.. attention:: un module présent dans `sys.modules` n'est pas forcément importé
|
||||
dans l'espace de nommage usuel. Il faut importer le module pour
|
||||
pouvoir l'utiliser.
|
||||
|
||||
>>> sys.modules['email']
|
||||
@ -85,21 +85,35 @@ True
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
NameError: name 'email' is not defined
|
||||
>>>
|
||||
>>>
|
||||
|
||||
Pour récupérer le chemin du module
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
print(os.path.abspath(<module>.__file__))
|
||||
|
||||
Pour importer un module qui n'est pas dans le `sys.path`
|
||||
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fch = open('/path/to/mymodule/custom.py', 'r')
|
||||
my_module = imp.load_module('dhcp_custom', fch, '/path/to/mymodule.py', ('.py', 'U', 1))
|
||||
|
||||
Connaître la version d'un module
|
||||
-------------------------------------
|
||||
|
||||
Exemple : le module ``datetime``
|
||||
|
||||
C'est suivant la version de python car c'est la librairie standard.
|
||||
C'est suivant la version de python car c'est la librairie standard.
|
||||
|
||||
Sinon, en général il y a un attribut __version__
|
||||
Sinon, en général il y a un attribut __version__
|
||||
|
||||
>>> import sqlalchemy
|
||||
>>> sqlalchemy.__version__
|
||||
'0.9.8'
|
||||
>>>
|
||||
>>>
|
||||
|
||||
|
||||
Les méthodes spéciales
|
||||
|
Reference in New Issue
Block a user