Modules

collections

defaultdict

Renvoie un nouvel objet qui se comporte comme un dictionnaire. defaultdict est une sous-classe de la la classe native dict. Elle surcharge une méthode et ajoute une variable d'instance modifiable.

#Si la clé n'existe pas, on instancie l'objet vide du type passé en argument à defaultdict
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)

word = 'anticonstitutionnellement'
d = defaultdict(int)
for letter in word:
    d[letter] = 1

 

OrderDict

garde en mémoire l'ordre dans lequel les entrées ont été ajoutées

Gestions

La gestion des modules se fait à l'aide du module pip

avec python 3, utiliser la commande pip3

Installer un module

$ pip3 install SomePackage            # latest version
$ pip3 install SomePackage==1.0.4     # specific version
$ pip3 install 'SomePackage>=1.0.4'     # minimum version

Installer des modules depuis une liste

pip3 install -r requirements.txt

Désinstaller un module

$ pip uninstall SomePackage

Lister les modules installés

$ pip3 list

#avec la dernière version
$ pip3 list --outdated
docutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)

Rechercher un module installé

$ pip3 search "query"

 

https://pip.pypa.io/en/stable/

pprint

Le module pprint permet « d’afficher élégamment » des structures de données Python arbitraires sous une forme qui peut être utilisée ensuite comme une entrée dans l’interpréteur. Si les structures formatées incluent des objets qui ne sont pas des types Python fondamentaux, leurs représentations peuvent ne pas être acceptables en tant que telles par l’interpréteur. Cela peut être le cas si des objets tels que des fichiers, des interfaces de connexion (sockets en anglais) ou des classes sont inclus, c’est aussi valable pour beaucoup d’autres types d’objets qui ne peuvent être représentés sous forme littérale en Python.

L’affichage formaté affiche, tant que possible, les objets sur une seule ligne et les sépare sur plusieurs lignes s’ils dépassent la largeur autorisée par l’interpréteur. Créez explicitement des objets PrettyPrinter si vous avez besoin de modifier les limites de largeur.

Les dictionnaires sont classés par clés avant que l’affichage ne soit calculé.

sys

Les chemins de recherche des modules

sys.path

Ajouter un repertoire de module à un projet

sys.path.append(mon_repertoire)

Ajouter un dossier au PYTHONPATH de manière permanente

il faut ajouter une variable d'environnement dans le fichier /home/utilisteur/.bashrc

  • un dossier : export PYTHONPATH=$PYTHONPATH:/home/utilisateur/...
  • plusieurs dossier : export PYTHONPATH=$PYTHONPATH:/home/utilisateur/dossier1:/home/utilisateur/dossier2