Topic: Creazione di un file archivio (.zip)  (Letto 2451 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Creazione di un file archivio (.zip)
« il: Luglio 19, 2007, 14:27 »
In questi giorni ho provato a creare un file zip da python devo dire che ci sono riuscito utilizzando la libreria distutils.archive_util anche se non ho proprio ottenuto il risultato aspettato  :confused:

In pratica ottengo un file .zip con pero per ogni cartella contenuta nel path crea una cartella,quindi se ho un path di questo tipo: "path=C:\Documents and Settings\Alberto\Desktop\Palmare" nel mio file ho una cartella Documents and Settings dentro ho la cartella Alberto dentro ancora Desktop e cosi via....

Io invece voglio creare un file .zip che parta direttamente dalla cartella Palmare...come posso fare ?  :question:

Qua c'è il programma che ho scritto:

##################################
# Nome_programma: Archiviatore.py 
# Autore: akus85                             
##################################



import distutils.archive_util
import time

def Archivia(NomeFile,Sorgente):
  distutils.archive_util.make_zipfile(NomeFile,Sorgente)
  print "OK"


Tempo=time.localtime()
NomeFile="Backup_"+str(Tempo[2])+"-"+str(Tempo[1])+"-"+str(Tempo[0])+"_"+str(Tempo[3])+"-"+str(Tempo[4])+"-"+str(Tempo[5])
Sorgente="C:\Documents and Settings\Alberto\Desktop\Palmare"

Archivia(NomeFile,Sorgente)

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Creazione di un file archivio (.zip)
« Risposta #1 il: Luglio 19, 2007, 14:33 »
Una curiosità: perchè non hai usato la libreria ZipFile ?

Offline MiPnamic

  • python erectus
  • ***
  • Post: 128
  • Punti reputazione: 0
    • Mostra profilo
    • MiPnamic contaminated area | Comunicare; Conoscere; Crescere; Condividere;
Re: Creazione di un file archivio (.zip)
« Risposta #2 il: Luglio 19, 2007, 15:14 »
import os
from zipfile import ZipFile

Sorgente="C:\Documents and Settings\Alberto\Desktop\Palmare"
os.chdir(Sorgente)

files = os.listdir('.')

f = ZipFile('nomefile.zip', mode='w')

for i in files:
    f.write(i)
f.close()

# In questo modo cambia la directory di lavoro nella directory "Sorgente"
# e mette in nomefile.zip tutto quello che è presente nella lista files ^_^

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Creazione di un file archivio (.zip)
« Risposta #3 il: Luglio 20, 2007, 09:29 »
Citazione da: Markon
Una curiosità: perchè non hai usato la libreria ZipFile ?
Non l'avevo usata perchè ottenevo la stessa cosa di distutils.archive_util  :embarrassed:

@ZioMip:
 Grazie per il codice..!!!  ;)

Offline MiPnamic

  • python erectus
  • ***
  • Post: 128
  • Punti reputazione: 0
    • Mostra profilo
    • MiPnamic contaminated area | Comunicare; Conoscere; Crescere; Condividere;
Re: Creazione di un file archivio (.zip)
« Risposta #4 il: Luglio 20, 2007, 11:26 »
grazie di cosa? ^^ siamo qui per aiutarci ^^

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Creazione di un file archivio (.zip)
« Risposta #5 il: Luglio 20, 2007, 20:16 »
Mi sono accorto che mi da questo errore utilizzando il codice postato da ZioMip
Citazione
Traceback (most recent call last):
  File "C:\Documents and Settings\Alberto\Desktop\Scripts Python\Zippare.py", line 14, in <module>
    f.write(i)
  File "C:\Programmi\PyGTK\Python\lib\zipfile.py", line 563, in write
    fp = open(filename, "rb")
IOError: [Errno 13] Permission denied: 'JAP'

Lo da sulle cartelle  :confused:

Offline MiPnamic

  • python erectus
  • ***
  • Post: 128
  • Punti reputazione: 0
    • Mostra profilo
    • MiPnamic contaminated area | Comunicare; Conoscere; Crescere; Condividere;
Re: Creazione di un file archivio (.zip)
« Risposta #6 il: Luglio 22, 2007, 10:00 »
ho dimenticato di dire che quello script lo uso sul notebook che è Windows... non so se da linux ci possono essere problemi sinceramente...

Offline necrosis

  • python erectus
  • ***
  • Post: 135
  • Punti reputazione: 0
  • www.homelinux.it
    • Mostra profilo
    • Homelinux
Re: Creazione di un file archivio (.zip)
« Risposta #7 il: Luglio 22, 2007, 15:26 »
la libreria zipfile non dà problemi su linux...

Guarda questo script magari ti può essere utile:

http://www.gentoo.it/Programmazione/byteofpython/the-solution.html#id2538919

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Creazione di un file archivio (.zip)
« Risposta #8 il: Luglio 22, 2007, 20:44 »
Citazione da: ZioMip
ho dimenticato di dire che quello script lo uso sul notebook che è Windows... non so se da linux ci possono essere problemi sinceramente...
L'errore me lo da su Windows  :confused: