Que Python est bien pensé :)
On peut enchaîner les appels à open()
avec le context manager with
. Admettons que nous voulions simuler la commande système suivante :
$ cut -d' ' -f1 fichier1.txt > fichier2.txt
Cette commande récupère chaque ligne de fichier1.txt, la segmente en utilisant l'espace comme délimiteur et enregistre le premier segment dans fichier2.txt.
En Python, on chaîne les appels :
with open("fichier1.txt") as src, open("fichier2.txt", "w") as dst:
for line in src.readlines():
dst.write(line.split(" ")[0]))
Bon, c'est trivial comme exemple, mais on peut enchaîner autant d'appels que l'on veut. Bon à savoir.