Snippets

Du code concis, avec une explication claire.

python

shutil.copyfileobj: copier des flux efficacement

Copier d'un fichier/flux à un autre avec un buffer contrôlé.

#shutil#stream#copy
python

shutil.disk_usage: espace disque total/utilise/libre

Mesurer l'espace disque d'un chemin donné.

#shutil#disk#filesystem
python

shutil: copytree avec ignore et dirs_exist_ok

Copier un dossier en ignorant certains motifs et sans erreur s'il existe.

#shutil#copy#filesystem
python

shutil: make_archive pour zipper un dossier

Créer une archive zip/tar d'un dossier sans dépendances externes.

#shutil#archive#zip
python

shutil: rmtree sécurisé avec onerror

Supprimer un dossier récursivement en gérant les erreurs (droits, verrous).

#shutil#rmtree#cleanup
python

shutil.which: trouver un exécutable dans le PATH

Résoudre le chemin complet d'une commande disponible.

#shutil#which#path
python

signal: terminaison gracieuse (SIGINT/SIGTERM)

Capter les signaux et terminer proprement votre programme.

#signal#graceful#shutdown
python

functools.singledispatchmethod: méthodes génériques

Spécialiser une méthode selon le type du premier argument.

#functools#singledispatchmethod#oop
python

signal: arrêt propre avec Event

Intercepter SIGINT/SIGTERM et arrêter une boucle proprement.

#signal#graceful-shutdown#event
python

socket: client TCP avec timeout

Établir une connexion TCP, envoyer et recevoir avec délai maximal.

#socket#tcp#timeout
python

sqlite3.executemany: insertions par lot dans une transaction

Insérer efficacement plusieurs lignes avec executemany et commit unique.

#sqlite-3#executemany#transaction
python

sqlite3: récupérer des lignes comme des dicts (Row)

Activer row_factory=sqlite3.Row pour accéder aux colonnes par nom.

#sqlite-3#dict