Python: récupérer des fichiers dans une archive sans l'annuaire?

J'ai été l'apprentissage de python pour environ 3 semaines maintenant, et je suis en train d'essayer d'écrire un petit script pour trier les fichiers (environ 10.000), par mots clés, date apparaissant dans le nom de fichier. Les fichiers avant une date donnée doit être ajouté à l'archive. Le tri fonctionne très bien, mais pas l'archivage

Il crée une archive - le nom est très bien - mais dans l'archive est le chemin d'accès complet aux fichiers.
Si je l'ouvre, ça ressemble: folder1 -> folder2 -> folder3 -> files.

Comment puis-je changer pour que l'archive ne contient que les fichiers et non pas l'ensemble de la structure?

Ci-dessous est un extrait avec mon zip fonction, node est le chemin où les fichiers ont été avant le tri, folder est un sous-dossier avec les fichiers triés par un mot clé dans le nom, items sont les dossiers avec les fichiers triés par date.

Je suis à l'aide de Python 2.6

def ZipFolder(node, zipdate):
    xynode = node + '/xy'
    yznode = node + '/yz'
    for folder in [xynode,yznode]:
        items = os.listdir(folder)
        for item in items:
            itemdate = re.findall('(?<=_)\d\d\d\d-\d\d', item)
            print item
            if itemdate[0] <= zipdate:
                arcname = str(item) + '.zip'
                x = zipfile.ZipFile(folder + '/' + arcname, mode='w', compression = zipfile.ZIP_DEFLATED)
                files = os.listdir(folder + '/' + item)
                for f in files:
                    x.write(folder + '/' + item + '/' + f)
                    print 'writing ' + str(folder + '/' + item + '/' + f) + ' in ' + str(item)
                x.close()
                shutil.rmtree(folder + '/' + item)
    return

Je suis également ouvert à toutes suggestions et améliorations.

OriginalL'auteur rny | 2011-08-10