corrections du cours après la présentation
This commit is contained in:
parent
78cc7f12eb
commit
2ecd65ce3d
@ -428,7 +428,7 @@ Traduction d'une structure de données dans une autre
|
||||
'low': '192.168.0.8',
|
||||
'only_unknown': False}],
|
||||
'mask': '255.255.255.0'},
|
||||
{'address': '192.168.0.1',
|
||||
{'address': '192.168.10.0',
|
||||
'dynamicRanges': [{'high': '192.168.0.12',
|
||||
'low': '192.168.0.5',
|
||||
'only_unknown': True},
|
||||
|
@ -433,6 +433,17 @@ Le prompt OCaml (utop)::
|
||||
val y : int = 3
|
||||
# y * y;;
|
||||
- : 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
|
||||
------------------------------
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user