[PIPython] cercare un file...
Gian Mario Tagliaretti
liquid
Ven 19 Nov 2004 15:16:47 CET
On Wednesday 21 July 2004 00:57, MM wrote:
come già ti hanno detto l'errore sta nell'identazione.
> quello che vorrei ottenere io, è l'equivalente di:
>
> % find /percorso -name "*partedelnome*" -exec qualchecomando {} \;
>
> per esempio:
>
> % find /etc -name "*.conf" -exec cp {} /backup \;
>
Per ottenere questo risultato puoi fare
#!/usr/bin/env python
from os import walk
import os.path
import shutil
if not os.path.isdir("/backup"):
os.mkdir("/backup", 384)
for root, dirs, files in walk('/'):
for filename in files:
if ".conf" in filename:
abspath = os.path.join(root, filename)
shutil.copy2(abspath, "/backup")
ci sono però un paio di problemini:
1) se il file nella directory backup già esiste viene sovrascritto, durante la
scansione del disco può capitare che ci siano 2 file con lo stesso nome.
Ovviamente è risolvibile aggiungendo dei controlli o mettendo delle
sottodirectory in /backup
2) if ".conf" in filename ti prende anche i files che si chiamano ad
esempio .config oppure .conf.pippo, pre prendere solo i .conf "forse" si
torna al discorso delle regexp (posso sbagliarmi)
ciao
GMTaglia
More information about the Python
mailing list