copiar directorios 2(script incluido)

Jose Manuel Vivo jmvivo en cenoclap.es
Mie Oct 16 10:32:12 CEST 2002


El Mié 16 Oct 2002 10:00, Jon Bengoetxea escribió:
> Hola a tod en s.
> Me explico mejor....y de paso os paso el script.
>
> Me pasa una cosa curiosa, cuando creo una lista del contenido del disco
> de un servidor NT remoto:
>
> disco_servidor=['Archivos de programa','WINNT',.......]
>
> y lo meto en un bucle que me copia dichos directorios y ficheros a un
> disco local, me intenta copiar por ejemplo el primer elemento de la
> lista de esta forma:
>
> copydir Archivos
> copydir de
> copydir programa
>
> cuando lo valido seria
>
> copydir Archivos de programa
>
> Logicamente me salta un error que me indica que no existen dichos
> directorios.
>
> El comando copydir de linux(del paquete mirrordir) lo declaro en una
> variable. cmd_copia='copydir '
>
> y luego lo lanzo en el bucle de copia con os.system()
>
> for copia in lista_dir:
> 	os.system('%s -v /mnt/%s
> %s'%(cmd_copia,copia,destino_dir[dia_seleccionado])) Este bucle me copia el
> contenido del disco remoto en un disco local en el dia que corresponde.
>
> Sabe alguien porque me hace esto??

 Creo que tu problema viene por el comando. Al incluir espacios en los nombres 
de directorios puede que interprete que son varios y no uno. Prueba a 
insertar comillas simples o dobles, antes y despues del nombre de directorio:

os.system('%s -v /mnt/%s 
"%s"'%(cmd_copia,copia,destino_dir[dia_seleccionado]))

o

os.system("%s -v /mnt/%s 
'%s'"%(cmd_copia,copia,destino_dir[dia_seleccionado]))


 No puedo asegurarte que funcione ya que yo trabajo con un FreeBSD y no 
dispongo del comando. Pero creo que funcionará.


Un saludo
J.M. Vivo


Más información sobre la lista de distribución Python-es