[PIPython] Copiare ricorsivamente una directory
Carlo C8E Miron
carlo.miron
Gio 30 Giu 2005 16:10:50 CEST
Il 30/06/05, Enrico Gabubbi Manfredo<elinux a gabubbi.it> ha scritto:
> questo è un codice di prova per leggere e copiare le dir in maniera ricorsiva
> Quando poi funzionerà lo ripasserò e renderò meno ripetitivo....
>
> import os
> import shutil
>
> PathOR = "/home/utente/sorgente"
> PathDEST = "/home/utente/destinazione/"
>
> for path, dirs, files in os.walk(PathOR) :
> for dir in dirs:
> if os.path.isdir(os.path.join(PathOR, dir)):
> if os.path.isdir(os.path.join(PathDEST, dir)):
> pass
> else:
> os.makedirs(os.path.join(PathDEST, dir))
> for file in files:
> shutil.copy2(os.path.join(PathOR, file), os.path.join(PathDEST, file))
boh secondo me stai facendo le cose + complicate del necessario..
questo dovrebbe funzionare (untested)::
import os
import shutil
PathOR = "/home/utente/sorgente"
PathDEST = "/home/utente/destinazione/"
os.chdir(PathOR)
for path, dirs, files in os.walk("."):
for dir in dirs:
if not os.path.isdir(os.path.join(PathDEST, path, dir)):
os.mkdir(os.path.join(PathDEST, path, dir))
for file in files:
shutil.copy2(os.path.join(PathOR, path, file),
os.path.join(PathDEST, path, file))
ps: occhio ai symlink, guardati il codice di shutil.copytree()
--
Carlo C8E Miron, ICQ #26429731
--
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, "the intended recipient".
2. All information in the email is mine to do with as I see fit and
make such financial profit, political mileage, or good joke as it
lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
may be included on your message.
More information about the Python
mailing list