Foros del Web » Programando para Internet » Python »

Busqueda y copia de archivos en carpetas

Estas en el tema de Busqueda y copia de archivos en carpetas en el foro de Python en Foros del Web. Que tal maestros, quisiera realizar una pequeña aplicación pero no se en que plataforma seria mas conveniente. Asi es mi idea: Buscar ciertos archivos en ...
  #1 (permalink)  
Antiguo 17/07/2009, 13:00
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Busqueda y copia de archivos en carpetas

Que tal maestros, quisiera realizar una pequeña aplicación pero no se en que plataforma seria mas conveniente. Asi es mi idea: Buscar ciertos archivos en una carpeta, que contiene subcarpetas; en especifico imagenes, y que de toda la busqueda poder copiar los archivos encontrados en otra carpeta.

Podria ser en Visual Basic o Phyton, uds que me recomienda.

Saludos
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #2 (permalink)  
Antiguo 17/07/2009, 13:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Busqueda y copia de archivos en carpetas

Cualquiera de las dos opciones es válida, todo depende de cuánto sepas de cada lenguaje y del uso final que le vas a dar al programa.

Según elijas, me avisas para transladar el tema al foro adecuado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 18/07/2009, 11:31
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

Ke tal David, es correcto lo que me dices acerca de cuanto saber de cada lenguaje, pero tambien me gustaria aprender...asi que probemos con Python.
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #4 (permalink)  
Antiguo 18/07/2009, 18:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Busqueda y copia de archivos en carpetas

En ese caso, translado el tema al foro de Python.

Puedes comentarnos lo que ya tienes hecho y dónde no logras avanzar para que podamos orientarte.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/07/2009, 11:57
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

Hola que tal mestros, he aquí lo poco que llevo...

import shutil
import os

ruta = raw_input("Introduce la ruta a buscar:")
destino = raw_input("Introduce la ruta destino:")

while not ruta:
ruta = raw_input("Introduce la ruta a buscar:")
while not destino:
destino = raw_input("Introduce la ruta destino:")

for i in os.walk(ruta):
for j in i[2]:
if j.endswith('.jpg'):
base = os.path.abspath(i[0])
shutil.copy(base,destino)
print "%s\%s" %(base, j)

raw_input('enter return to exit')

Pero al correrlo me sale un error, y es que el directorio destino solo se puede leer...como cambiarlo a escritura??, pero temporalmente, solo mientras se realiza la acción...
Gracias por su ayuda...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #6 (permalink)  
Antiguo 21/07/2009, 13:54
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Si quieres copiar un directorio, has un copytree si no con un copy basta.

Esto es por que estas usando windows
  #7 (permalink)  
Antiguo 21/07/2009, 18:30
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

Gracias razpeitia por tu respuesta...pero ya intenté eso también, estoy usando el PyScripter y al correrlo me sale el error en la función copy de la librería shutil y me marca que la carpeta destino, solo puede ser de lectura... :S como hago que pueda ser de escritura, para poder copiar, ahora bien...copiara toda la carpeta??? o solo su contenido??? por que solo quiero que copie el contenido....
muchas gracias...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #8 (permalink)  
Antiguo 21/07/2009, 22:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Con esto puedes hacer tu función buscar
Código python:
Ver original
  1. import os
  2. import re
  3.  
  4. path = "AQUÍ TU RUTA"
  5. list_of_files = []
  6.  
  7. for i in os.walk(path):
  8.     for j in i[-1]:
  9.         f = os.path.join(i[0], j)
  10.         if re.search('[Jj][Pp][Ee]?[Gg]$', f):
  11.             list_of_files.append(f)

que regresa una lista de archivos encontrados con la extensión jpg, en la ruta dada
Ahora solo iteras esa lista para copiarlos en tu destino. Espero haberte ayudado.
  #9 (permalink)  
Antiguo 21/07/2009, 23:04
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

muchs gracias razpeitia, lo probaré...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #10 (permalink)  
Antiguo 22/07/2009, 08:56
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

que tal razpeitia, ya probe tu código y me vuelve a salir el mismo error, checa...cuando lo corro me sale la parte de codigo de la lib del shutil...


def copyfile(src, dst):
"""Copy data from src to dst"""
if _samefile(src, dst):
raise Error, "`%s` and `%s` are the same file" % (src, dst)

fsrc = None
fdst = None
try:
fsrc = open(src, 'rb') ----> AQUI ES DONDE ME MUESTRA EL ERROR...
fdst = open(dst, 'wb')
copyfileobj(fsrc, fdst)
finally:
if fdst:
fdst.close()
if fsrc:
fsrc.close()

entonces, no se que onda, por que ya ni siquiera puedo probar lo nuevo que agregue al código :/...gracias por tu atencion...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #11 (permalink)  
Antiguo 22/07/2009, 10:29
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Este ejemplo funciona tal y como debería.
Con algunas restricciones claro:
1.- El destino debe de existir y ser una carpeta.
2.- Si encuentra la misma imagen (osea con el mismo nombre) en 2 carpetas diferentes, una sustituirá a la otra en el destino.

Código python:
Ver original
  1. import os
  2. import re
  3. import shutil
  4.  
  5. def search_jpg(path):
  6.     list_of_files = []
  7.     for i in os.walk(path):
  8.         for j in i[-1]:
  9.             f = os.path.join(i[0], j)
  10.             if re.search('[Jj][Pp][Ee]?[Gg]$', f):
  11.                 list_of_files.append(f)
  12.     return list_of_files
  13.  
  14. def copy_to(dts, list_of_files):
  15.     for i in list_of_files:
  16.         shutil.copy(i, dts)
  17.         print "Copied %s to %s" % (i, dts)
  18.        
  19. l = search_jpg('C:\Documents and Settings\Administrador\Escritorio')
  20. copy_to('C:\Documents and Settings\Administrador\Escritorio\JPGs', l)
  #12 (permalink)  
Antiguo 22/07/2009, 13:50
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

razpeitia, ya probe tu codigo tal y como esta y sigue sin funcionar... o sea se ejectua y se cierra... no se que pasa...que puede ser???
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #13 (permalink)  
Antiguo 22/07/2009, 14:46
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Checaste si copio algo?
intenta poner un raw_input() al final del código.
A mi me funciona de maravilla, la carpeta destino la tienes que crear tu.

No te apareció algún error?
  #14 (permalink)  
Antiguo 22/07/2009, 19:41
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

Si razpeitia, le puse el raw_input() pero no copio nada... y si efectivamente la carpeta destino ya la hice pero no hace la copia...algo estoy haciendo mal, pero no aparece ningun error, o excepción...problema por la versión?? tengo la 2.6.2 o algo en la configuración tengo ke hacer?? plis help me....
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #15 (permalink)  
Antiguo 22/07/2009, 21:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Pues yo manejo la misma versión y no he tenido problemas. No tengo ninguna configuración especial ni nada por el estilo.

Te debe de imprimir información que efectivamente ha copiado algo. Si no te imprime nada es por que simplemente no ha copiado nada.

Recuerda cambiar la ruta del ejemplo por tu propia ruta. A la mejor no tienes imágenes en el escritorio del usuario Administrador.

Pero como precaución:
Código python:
Ver original
  1. import os
  2. import re
  3. import shutil
  4.  
  5. def search_jpg(path):
  6.     list_of_files = []
  7.     for i in os.walk(path):
  8.         for j in i[-1]:
  9.             f = os.path.join(i[0], j)
  10.             if re.search('[Jj][Pp][Ee]?[Gg]$', f):
  11.                 list_of_files.append(f)
  12.     return list_of_files
  13.  
  14. def copy_to(dts, list_of_files):
  15.     if list_of_files:
  16.         for i in list_of_files:
  17.             shutil.copy(i, dts)
  18.             print "Copied %s to %s" % (i, dts)
  19.     else:
  20.         print "0 files found"
  21.        
  22. l = search_jpg('C:\Documents and Settings\Administrador\Escritorio')
  23. copy_to('C:\Documents and Settings\Administrador\Escritorio\JPGs', l)

Le agregue un if, para que imprima ningún archivo fue encontrado antes que empiece a copiar.
  #16 (permalink)  
Antiguo 23/07/2009, 12:31
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

muchas gracias razpeitia, ya funciono...ya copio...ahora lo que hizo fue que solo copio un archivo...puse un print para ver cuales encuentra y efectivamente solo encontro un archivo, aunque obviamente hay mas de 1...que podrá ser??
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #17 (permalink)  
Antiguo 23/07/2009, 13:48
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Busqueda y copia de archivos en carpetas

razpeitia, ya funciono...muchisimas gracias...hice otro archivo solo copie y pegue el código y funciona a la perfección...oie ahora una pregunta, python puede acceder y trabajar con archivos .dbf???
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #18 (permalink)  
Antiguo 27/07/2009, 12:33
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Busqueda y copia de archivos en carpetas

Al parecer si existe un modulo, buscando por ahi encontre este:
http://www.fiby.at/dbfpy/

Pero, puedes seguir buscando en google para ver si ahi otros modulos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:45.