J'essaie d'écrire une fonction qui sauvegarde un répertoire avec des fichiers d'autorisations différentes pour une archive sur Windows XP. J'utilise le module tarfile pour taper le répertoire. Actuellement, dès que le programme rencontre un fichier qui n'a pas les autorisations de lecture, il cesse de donner l'erreur: IOError: [Errno 13] Autorisation refusée: 'chemin d'accès au fichier'. Je voudrais plutôt ignorer les fichiers qu'il ne peut pas lire plutôt que de terminer l'opération tar. Voici le code que je suis maintenant en utilisant:Obtenir tarfile python pour ignorer les fichiers sans autorisation de lecture
def compressTar():
"""Build and gzip the tar archive."""
folder = 'C:\\Documents and Settings'
tar = tarfile.open ("C:\\WINDOWS\\Program\\archive.tar.gz", "w:gz")
try:
print "Attempting to build a backup archive"
tar.add(folder)
except:
print "Permission denied attempting to create a backup archive"
print "Building a limited archive conatining files with read permissions."
for root, dirs, files in os.walk(folder):
for f in files:
tar.add(os.path.join(root, f))
for d in dirs:
tar.add(os.path.join(root, d))