Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrasement d'un fichier contenu dans un zip impossible

    7 août 2011 à 17:20:45

    Bonjour,

    J'essaye de modifier un fichier xml contenu dans un zip, et j'y arrive, le problème c'est que le fichier lors de l'enregistrement n'est pas écrasé, ce qui fait que je me retrouve avec 2 fichiers xml du même nom... Et je ne veut pas écraser le fichier existant mais simplement écraser le contenu.

    Voila mon code :

    self.filePath = fileChooserDialog.get_filename() #Chemin + fichier
    
    if is_zipfile(self.filePath):
        self.xmlFile = "lockscreen/advance/manifest.xml"
        
        #Mon fichier zip
        self.data = ZipFile(self.filePath, 'a')
    
        #Si le fichier xml est dans le zip
        if self.xmlFile in self.data.namelist():
            d = self.data.read(self.xmlFile)
    
            self.buffer = self.txtViewXml.get_buffer() #Je récupère le buffer du textView
            self.buffer.set_text(d) #J'insère le xml dans le buffer donc il est affiché dans le textView
    


    Maintenant voila le code lorsque je veux enregistrer mon fichier :

    def on_menu_file_save_activate(self, widget):
        start = self.buffer.get_start_iter()
        end = self.buffer.get_end_iter()
        contenu = self.buffer.get_text(start, end)
        self.data.writestr(self.xmlFile, contenu) #J'écris
        #Je ne ferme pas car après je ne peux plus le modifier vu qu'il est fermé
        #self.data.close()
    


    Donc après tout ça je me retrouve avec 2 fichiers manifest.xml :(

    Si vous avez une solution je suis preneur.
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 août 2011 à 18:22:52

      Et en extrayant ton fichier de l'archive, tu le modifies et tu le réinsères dans ton zip, non?
      • Partager sur Facebook
      • Partager sur Twitter
        7 août 2011 à 19:05:43

        Bah je veux tout faire en mémoire.
        • Partager sur Facebook
        • Partager sur Twitter

        Ecrasement d'un fichier contenu dans un zip impossible

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown