Python
Pense-bête
Effectuer une division sur des nombres entiers
En Python 2.x, le reste d’une division de nombres entiers est tronqué :
>>> 1 / 2
0
Pour obtenir le reste d’une division de nombres entiers, il faut convertir l’un
ou les deux membres de en nombre flottant à l’aide de la fonction float()
:
>>> float(10 - 20) / (100 - 10)
-0.1111111111111111
Astuces
Afficher la documentation d’un module Python
Dans l’interpréteur Python en ligne de commande, entrer la commande suivante :
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import <nom du module>
>> help(<nom du module>)
…
Il est aussi possible d’afficher la documentation directement depuis le terminal
grâce à la commande pydoc
:
pydoc <nom du module>
Rediriger l’affichage temporairement dans un fichier
Si vous ne pouvez/voulez pas afficher la sortie d’une commande sur la sortie
standard (stdout
), vous pouvez utiliser la ruse suivante :
#!/usr/bin/python
import sys
sys.stdout = open('/tmp/monscript.out', 'w')
print('huhuhu') # sera écrit dans le fichier /tmp/monscript.out
sys.stdout = sys.__stdout__
print('hohoho') # sera écrit sur la sortie standard
Afficher les fichiers de modules importés
En cas de mélange de fichiers de versions installées en parallèle, il est possible de savoir précisément à quel fichier sur le disque correspond un module qui a été importé :
>>> import datetime
>>> print(datetime.__file__)
/usr/lib/python2.6/lib-dynload/datetime.so