[Python] "chiudere" un file CSV

Vittorio Zuccala' vittorio.zuccala a gmail.com
Gio 10 Giu 2010 09:39:03 CEST


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, andreatagliolini a gmail.com <
andreatagliolini a 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
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20100610/83095b78/attachment.htm 


Maggiori informazioni sulla lista Python