Re: [Python] "chiudere" un file CSV

2010-06-10 Per discussione Vittorio Zuccala'
Eureka.
Alla fine ci sono riuscito grazie ai vostri consigli.
Per chi servisse, se si apre un CSV, come ha detto Fabrizio, prima cosa
aprire un handler, manipolarlo e infine chiuderlo.
All'occorrenza cancellare l'handler una volta chiuso.
Grazie,
Vittorio

Il giorno 10 giugno 2010 11.49, Fabrizio Mancini  ha
scritto:

> 2010/6/10 Vittorio Zuccala' :
> > Mi sa che l'unica è come ha detto Fabrizio di lanciare un altro script
> > completamente differente di modo che terminando il primo script,
> l'handler
> > perda visibilità.
> > Devo ancora tentare questa strada perchè mi infastidisce molto non
> riuscire
> > a fare tutto con un unico script...
> Ciao,
> puoi anche provare a cancellare la variabile, con un semplice
> del self.csvfile
> in modo da far perdere visibilità alla variabile, non è molto
> ortodosso, ma prova.
> ciao Fabrizio
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-10 Per discussione Fabrizio Mancini
2010/6/10 Vittorio Zuccala' :
> Mi sa che l'unica è come ha detto Fabrizio di lanciare un altro script
> completamente differente di modo che terminando il primo script, l'handler
> perda visibilità.
> Devo ancora tentare questa strada perchè mi infastidisce molto non riuscire
> a fare tutto con un unico script...
Ciao,
puoi anche provare a cancellare la variabile, con un semplice
del self.csvfile
in modo da far perdere visibilità alla variabile, non è molto
ortodosso, ma prova.
ciao Fabrizio
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-10 Per discussione Vittorio Zuccala'
Buongiorno,
si utilizzo windows.
Per quanto riguarda i permessi ne ho a sufficienza.
Lo script infatti crea circa 52 CSV e soltanto 3 non riesce a cancellarne
alla fine.
Ho anche modificato, su suggerimento di alcuni, lo script "chiudendo" il
file in questo modo:

*self.csvfile = open(dati['file'],'r')*
*self.__reader = csv.reader(self.csvfile, ";")
.  # VARIE AZIONI.
self.csvfile.close()*

A quel punto, andando avanti con lo script:

*#CREO UN FILE ZIP e faccio il backup dei CSV
str = "backup/backup.zip"
file = zipfile.ZipFile(str, "w")
for name in glob.glob("*.csv"):
file.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
file.close()

#CANCELLO I CSV APPENA COMPATTATI
file = zipfile.ZipFile(str, "r")
for info in file.infolist():
os.remove(info.filename)
**file.close()*
*
*

Tuttavia l'errore permane.

*os.remove(info.filename)
Error: [Errno 13] Permission denied: 'nome file.csv*'

Mi sa che l'unica è come ha detto Fabrizio di lanciare un altro script
completamente differente di modo che terminando il primo script, l'handler
perda visibilità.
Devo ancora tentare questa strada perchè mi infastidisce molto non riuscire
a fare tutto con un unico script...



Il giorno 10 giugno 2010 00.17, andreatagliol...@gmail.com <
andreatagliol...@gmail.com> ha scritto:

> Ciao, scusa la stupida domanda, ma sei sicuro di avere i permessi
> sufficienti per eliminare il file csv?
> Non è che lanci lo script con sudo o da root, oppure crei i .csv da root e
> poi li elimini da utente normale?
> Perchè l'errore dice proprio questo.
> Credo che tu usi Windows ( l'ho intuito dal fatto che hai usato os.remove()
> invece che os.sytem("rm file.csv").
> Io proverei con un try Execept e vedi se ti funziona.
> Ciao
> --
> Andrea Tagliolini
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-09 Per discussione Daniele.zambelli
In data venerdì 04 giugno 2010 10:31:33, Vittorio Zuccala' ha scritto:
> Buongiorno a tutti,
> in un programma che sto creando, vengono generati una quindicina di files
> CSV.
> Questi vengono aperti uno per uno, elaborati e quindi zippati all'interno
> di un archivio di backup e infine cancellati.
> Il problema avviene quando provo a cancellare l'ultimo file creato ( con il
> comando *os.remove(info.filename)*).
> L'errore che ottengo è:
> 
> OSError: [Errno 13] Permission denied: 'nomefile.csv'
> 
> Come posso "chiudere" l'accesso al file CSV senza aprire una nuova istanza?

Probabilmente non ho capito bene... ma non è ce devi semplicemente chiudere il 
file prima di cancellarlo?

-- 

Danielewww.fugamatematica.blogspot.com

  giusto!
  _o)  (o_   (o_ _o)  nel verso
-./\\  //\.- //\ /\\  forse è perché non guardiamo le cose
 _\_V  V_/_  V_/ \_V  Quando non ci capiamo,
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-09 Per discussione andreatagliol...@gmail.com
Ciao, scusa la stupida domanda, ma sei sicuro di avere i permessi
sufficienti per eliminare il file csv?
Non è che lanci lo script con sudo o da root, oppure crei i .csv da root e
poi li elimini da utente normale?
Perchè l'errore dice proprio questo.
Credo che tu usi Windows ( l'ho intuito dal fatto che hai usato os.remove()
invece che os.sytem("rm file.csv").
Io proverei con un try Execept e vedi se ti funziona.
Ciao

Il giorno 04 giugno 2010 10.48, Vittorio Zuccala' <
vittorio.zucc...@gmail.com> ha scritto:

> Esattamente: in un unico file python.
> La creazione avviene con il lancio di un applicativo esterno:
>
> *stringa='clemb -stream AnalisiPortafoglioAgente.str -Pagente=%s  -execute
> -log agente.log' % agente['codiceAgente']
> os.system(stringa)
> *
>
> mentre la compattazione:
> *str = "backup/backup %s.zip" % config['englishtoday']
> file = zipfile.ZipFile(str, "w")
>
> for name in glob.glob("*.csv"):
> file.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
> *
>
> Se, prevedendo la tua risposta, pensi che sia meglio fare le due operazioni
> con due script separati... posso lanciare il secondo script (della
> compressione) dal primo con os.system(secondoscript) o c'è altro modo?
>
>
> Il giorno 04 giugno 2010 10.44, Paolo Bernardi  ha
> scritto:
>
> Come crei questi file? E le operazioni di compressione? Tutto mediante
>> un unico script Python?
>>
>> Paolo
>>
>> On Fri, 2010-06-04 at 10:31 +0200, Vittorio Zuccala' wrote:
>> > in un programma che sto creando, vengono generati una quindicina di
>> > files CSV.
>> > Questi vengono aperti uno per uno, elaborati e quindi zippati
>> > all'interno di un archivio di backup e infine cancellati.
>> > Il problema avviene quando provo a cancellare l'ultimo file creato
>> > ( con il comando os.remove(info.filename)).
>> > L'errore che ottengo è:
>> >
>> > OSError: [Errno 13] Permission denied: 'nomefile.csv'
>> >
>> >
>> > Come posso "chiudere" l'accesso al file CSV senza aprire una nuova
>> > istanza?
>>
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>


-- 
Andrea Tagliolini
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-04 Per discussione Fabrizio Mancini
2010/6/4 Vittorio Zuccala' :
> Buongiorno a tutti,
> in un programma che sto creando, vengono generati una quindicina di files
> CSV.
> Questi vengono aperti uno per uno, elaborati e quindi zippati all'interno di
> un archivio di backup e infine cancellati.
> Il problema avviene quando provo a cancellare l'ultimo file creato ( con il
> comando os.remove(info.filename)).
> L'errore che ottengo è:
>
> OSError: [Errno 13] Permission denied: 'nomefile.csv'
>
> Come posso "chiudere" l'accesso al file CSV senza aprire una nuova istanza?

Ciao,
il modulo csv prende in ingresso un file handler che tu apri, oppure
se ne crea uno in automatico.
Per avere il maggiore controllo ti conviene creare un riferimento ad
un oggetto file, passarlo al modulo csv e quando hai finito chiudere
il file handler.
Altrimenti il modulo csv se se lo crea in automatico dovrebbe
chiuderlo quando la variabile che referenzia l'handler csv esce dallo
scopo e perde di visibilità.
ciao fabrizio
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-04 Per discussione Vittorio Zuccala'
Esattamente: in un unico file python.
La creazione avviene con il lancio di un applicativo esterno:

*stringa='clemb -stream AnalisiPortafoglioAgente.str -Pagente=%s  -execute
-log agente.log' % agente['codiceAgente']
os.system(stringa)
*

mentre la compattazione:
*str = "backup/backup %s.zip" % config['englishtoday']
file = zipfile.ZipFile(str, "w")

for name in glob.glob("*.csv"):
file.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
*

Se, prevedendo la tua risposta, pensi che sia meglio fare le due operazioni
con due script separati... posso lanciare il secondo script (della
compressione) dal primo con os.system(secondoscript) o c'è altro modo?


Il giorno 04 giugno 2010 10.44, Paolo Bernardi  ha
scritto:

> Come crei questi file? E le operazioni di compressione? Tutto mediante
> un unico script Python?
>
> Paolo
>
> On Fri, 2010-06-04 at 10:31 +0200, Vittorio Zuccala' wrote:
> > in un programma che sto creando, vengono generati una quindicina di
> > files CSV.
> > Questi vengono aperti uno per uno, elaborati e quindi zippati
> > all'interno di un archivio di backup e infine cancellati.
> > Il problema avviene quando provo a cancellare l'ultimo file creato
> > ( con il comando os.remove(info.filename)).
> > L'errore che ottengo è:
> >
> > OSError: [Errno 13] Permission denied: 'nomefile.csv'
> >
> >
> > Come posso "chiudere" l'accesso al file CSV senza aprire una nuova
> > istanza?
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "chiudere" un file CSV

2010-06-04 Per discussione Paolo Bernardi
Come crei questi file? E le operazioni di compressione? Tutto mediante
un unico script Python?

Paolo

On Fri, 2010-06-04 at 10:31 +0200, Vittorio Zuccala' wrote:
> in un programma che sto creando, vengono generati una quindicina di
> files CSV.
> Questi vengono aperti uno per uno, elaborati e quindi zippati
> all'interno di un archivio di backup e infine cancellati.
> Il problema avviene quando provo a cancellare l'ultimo file creato
> ( con il comando os.remove(info.filename)).
> L'errore che ottengo è:
> 
> OSError: [Errno 13] Permission denied: 'nomefile.csv'
> 
> 
> Come posso "chiudere" l'accesso al file CSV senza aprire una nuova
> istanza?


signature.asc
Description: This is a digitally signed message part
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python