objectif
Fournir un context manager no-op pour simplifier le code conditionnel.
code minimal
from contextlib import nullcontext
x = 1
with nullcontext():
x += 1
print(x == 2) # attendu: True
utilisation
from contextlib import nullcontext
enabled = False
ctx = open("tmp.txt","w",encoding="utf-8") if enabled else nullcontext()
if enabled:
ctx.write("x") # ne s'exécute pas ici
print(hasattr(ctx, "__enter__"))
variante(s) utile(s)
from contextlib import nullcontext
with nullcontext(5) as v:
print(v == 5)
notes
- nullcontext(value) renvoie value depuis enter.
- Parfait pour éviter if/else autour d’un with.