corrections du cours après la présentation
This commit is contained in:
parent
08495c6a07
commit
b98c46b4ae
|
@ -428,7 +428,7 @@ Traduction d'une structure de données dans une autre
|
||||||
'low': '192.168.0.8',
|
'low': '192.168.0.8',
|
||||||
'only_unknown': False}],
|
'only_unknown': False}],
|
||||||
'mask': '255.255.255.0'},
|
'mask': '255.255.255.0'},
|
||||||
{'address': '192.168.0.1',
|
{'address': '192.168.10.0',
|
||||||
'dynamicRanges': [{'high': '192.168.0.12',
|
'dynamicRanges': [{'high': '192.168.0.12',
|
||||||
'low': '192.168.0.5',
|
'low': '192.168.0.5',
|
||||||
'only_unknown': True},
|
'only_unknown': True},
|
||||||
|
|
|
@ -433,6 +433,17 @@ Le prompt OCaml (utop)::
|
||||||
val y : int = 3
|
val y : int = 3
|
||||||
# y * y;;
|
# y * y;;
|
||||||
- : int = 9
|
- : int = 9
|
||||||
|
Construire une boucle d'interaction avec l'utilisateur en python::
|
||||||
|
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
error = True
|
||||||
|
while error:
|
||||||
|
try:
|
||||||
|
entier = int(input('donnez un entier : '))
|
||||||
|
error = False
|
||||||
|
except:
|
||||||
|
print('une valeur entiere est attendue')
|
||||||
|
print(entier)
|
||||||
|
|
||||||
Lire et écrire dans un fichier
|
Lire et écrire dans un fichier
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
|
@ -58,11 +58,11 @@ Organisation modulaire
|
||||||
- identifier les sous-composants indépendants (rendre les programmes réutilisables)
|
- identifier les sous-composants indépendants (rendre les programmes réutilisables)
|
||||||
- forcer l'abstraction (augmenter la sureté du programme)
|
- 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`.
|
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`
|
.. envvar:: `sys.modules`
|
||||||
|
|
||||||
|
@ -73,10 +73,10 @@ False
|
||||||
True
|
True
|
||||||
>>> sys.modules['twisted']
|
>>> sys.modules['twisted']
|
||||||
<module 'twisted' from '/usr/lib/python2.7/dist-packages/twisted/__init__.pyc'>
|
<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é
|
.. 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
|
dans l'espace de nommage usuel. Il faut importer le module pour
|
||||||
pouvoir l'utiliser.
|
pouvoir l'utiliser.
|
||||||
|
|
||||||
>>> sys.modules['email']
|
>>> sys.modules['email']
|
||||||
|
@ -85,21 +85,35 @@ True
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
File "<stdin>", line 1, in <module>
|
File "<stdin>", line 1, in <module>
|
||||||
NameError: name 'email' is not defined
|
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
|
Connaître la version d'un module
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
Exemple : le module ``datetime``
|
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
|
>>> import sqlalchemy
|
||||||
>>> sqlalchemy.__version__
|
>>> sqlalchemy.__version__
|
||||||
'0.9.8'
|
'0.9.8'
|
||||||
>>>
|
>>>
|
||||||
|
|
||||||
|
|
||||||
Les méthodes spéciales
|
Les méthodes spéciales
|
||||||
|
|
Loading…
Reference in New Issue