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 :

Comment ajouter une variable document à un object zip?


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment ajouter une variable document à un object zip?
    Bonjour,

    Je crée des fichiers word à la volée et j'aimerais les stocker dans un dossier zip téléchargeable sur une page web.

    Comment ajouter un fichier word document(doc = Document()) à un objet zip (zipObj = ZipFile(‘Sample.zip’, ‘w’))?

    Merci pour votre aide
    PJ

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Soit vous sauvegardez le document dans un fichier puis vous ajoutez le fichier dans le fichier zip, soit vous sauvegardez le document dans un fichier mémoire (io.StringIO) et vous écrivez la suite de bytes (StringIO.getvalue()) dans le fichier zip avec zipfile.writestr(...).

    Dans les deux cas, des exemples de code se trouvent en cherchant un peu sur Internet.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour Wiztricks,

    Pouvez vous étayer votre première méthode car je ne vois pas comment sauvegarder un document word en un fichier?
    Le but est de stocker les documents words avec leur format (texte en gras, italique, centré à gauche,droite...) dans un dossier Zip.
    Sauvegarder un document word en un fichier (de quelle extension?)permet-il de préserver le format?
    D'autant que tout doit se faire à la volée, je ne dois rien sauvegarder sur mon bureau car l'utilisateur télécharge le fichier ZIP sur un site web.

    Cordialement,
    PJ

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par pierrot37 Voir le message
    Sauvegarder un document word en un fichier (de quelle extension?)permet-il de préserver le format?
    C'est vous qui programmez et qui avez choisi la bibliothèque qui permet de fabriquer "Document"...
    Cette bibliothèque vient avec une documentation et certainement des exemples qui montrent comment sauvegarder un fichier/document qu'on a créé ou modifié (sinon, çà ne sert pas à grand chose).

    En général, çà se fait via la méthode .save('fichier.docx')... mais dans votre cas, je ne sais pas.

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut wiztricks,

    Finalement avec la méthodewrite et un stream io.bytesIO j'ai pu ajouter des fichiers word à un dossier ZIP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    f = io.BytesIO()
    zipObj = ZipFile(f, ‘a’)
    for File_name in Obj_Attr_List:
    Contrat_word = Create_Word_Contract(File_name)
    Contrat_word.save(File_name + ‘.docx’)
    zipObj.write(File_name + ‘.docx’)
    zipObj.close()
    response = HttpResponse(f.getvalue(),content_type=‘application/zip’)
    response[‘Content-Disposition’] = ‘attachment; filename=ZipArchName.zip’
    return response
    Merci pour ton aide

    Cordialement,
    Pierre Jutard

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2015, 05h53
  2. Réponses: 1
    Dernier message: 27/09/2012, 15h57
  3. [PowerShell] Comment retrouver le type d'une variable avec Where-Object
    Par badack dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 19/07/2010, 16h49
  4. comment ajouter une variable en environnement
    Par achta dans le forum Débuter
    Réponses: 3
    Dernier message: 03/08/2009, 15h56
  5. Réponses: 0
    Dernier message: 22/07/2009, 19h34

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