[Python] Récursivité
Voici un petit programme qui montre le principe de récursivité appliqué ici à un ZIP contenant lui-même des ZIP ... et bien sûr on ne veut rien écraser.
Toute la subtilité repose sur le numéro associé au répertoire de décompression qui est passé au sens du C par adresse pour pouvoir en conserver la valeur malgré la récursivité (empilement).
Le passage par adresse est effectuée ici par l’utilisation du premier élément d’une liste.
folder_num=[0]On passe alors non pas la valeur, mais la liste en paramètre.
recurse_unzip (mydir, folder_num)Le fichier zip a gentiment été créé par ChatGPT.
A noter l’utilisation de 2 "constantes", pas forcément le mieux car en Python les vraies constantes n’existent pas.
Documents
-
Fichier exemple ZIP (Zip - 4.8 kio)
-
Code Source Exemple (Zip - 1.1 kio)
Accueil > Linux > Développement > [Python] Récursivité