Ceci est un extrait de la documentation de Python:
Si exclude est donné, il doit s'agir d'une fonction prenant un argument de nom de fichier et renvoyant une valeur booléenne. En fonction de cette valeur, le fichier respectif est soit exclu (True) soit ajouté (False).
Je dois admettre que je n'ai aucune idée de ce que cela signifie.
En outre:
Obsolète depuis la version 2.7: Le paramètre exclude est obsolète, veuillez utiliser à la place le paramètre filter. Pour une portabilité maximale, filter doit être utilisé en tant qu'argument de mot-clé plutôt qu'en tant qu'argument positionnel afin que le code ne soit pas affecté lorsque exclude est finalement supprimé.
D'accord... et la définition de "filter":
Si filter est spécifié, il doit s'agir d'une fonction prenant un argument d'objet TarInfo et renvoyant l'objet TarInfo modifié. S'il renvoie plutôt None, l'objet TarInfo sera exclu de l'archive.
... retour à la case départ :)
ce dont j'ai vraiment besoin est un moyen de passer un tableau (ou une chaîne de caractères délimitée par ":") d'exclusions à tarfile.add.
Je ne verrais aucun inconvénient à ce que vous essayiez d'expliquer ce que signifient ces passages de PyDocs.
P.S.:
Cela m'a traversé l'esprit:
- Créer un tableau d'une liste du contenu du répertoire source
- Retirer les exclusions
- Faire un tar.add sur les membres individuels du tableau qui restent
Mais, j'aimerais que cela soit fait de manière plus cultivée