IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

zipper un repertoire sans le nom du repertoire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 20
    Par défaut zipper un repertoire sans le nom du repertoire
    coucou mes canaillous,

    j'arrive à créer une archive
    j'arrive à créer une archive avec un répertoire mais :

    si je compresse le dossier rep :

    rep\fichier1.txt
    rep\rep2\fichier2.txt

    j'obtiens bien le fichier rep.zip avec ça dedans :

    rep\fichier1.txt
    rep\rep2\fichier2.txt

    mais je voudrais que quand on ouvre le fichier il y ait directement :

    fichier1.txt
    rep2\fichier2.txt

    J'espère être clair
    J'ai trouvé plein d'autres idées mais on obtiens à chaque fois le repertoire rep.
    avez vous une idée ?


    voici mon code pour zipper un répertoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def zip_repertoire (repertoire, nom_fichier):
        zf = zipfile.ZipFile(nom_fichier, "w")
        for dirname, subdirs, files in os.walk(repertoire):
            zf.write(dirname)
     
            for filename in files:
                zf.write(os.path.join(dirname, filename))
        zf.close()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Le .write sauvegarde le fichier avec le nom donné (répertoire inclus s'il y a).
    S'il est possible de faire autre chose, çà doit écrit dans la documentation de cette méthode.

    Et effectivement, il y des paramètres optionnels et arcname semble permettre de donner le nouveau nom.
    Reste à tester pour voir si c'est aussi simple que çà en à l'air.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 20
    Par défaut
    merci je regarde et test !

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 20
    Par défaut
    Yeeeeessss! you are my god !

    nickel

    si vous voulez une fonction à mettre de coté !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def zip_repertoire (repertoire, nom_fichier):
        zf = zipfile.ZipFile(nom_fichier, "w")
        for dirname, subdirs, files in os.walk(repertoire):
     
            archive_name = dirname[len(repertoire)+1:]
     
            for filename in files:
     
                zf.write(os.path.join(dirname, filename), arcname = os.path.join(archive_name, filename))
        zf.close()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] zipper un repertoire python 3.4
    Par bernards111 dans le forum Général Python
    Réponses: 4
    Dernier message: 08/12/2016, 09h41
  2. ASP- Zipper un repertoire
    Par toxycyty dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/07/2008, 21h03
  3. Zipper un repertoire avec xp
    Par kinhelios dans le forum C++
    Réponses: 3
    Dernier message: 06/06/2007, 11h34
  4. Réponses: 3
    Dernier message: 02/03/2006, 09h49
  5. exporter une table sans le nom de colonnes ?
    Par vuldos dans le forum Access
    Réponses: 13
    Dernier message: 11/10/2004, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo