Mostrar los tags: carpeta

Mostrando del 1 al 6 de 6 coincidencias
<<>>
Se ha buscado por el tag: carpeta
Imágen de perfil

Buscador de archivos en el sistema de carpetas.


Python

Actualizado el 4 de Enero del 2022 por Antonio (75 códigos) (Publicado el 25 de Octubre del 2021)
3.758 visualizaciones desde el 25 de Octubre del 2021
El programa realiza la búsqueda de archivos en el sistema de carpetas a partir de un directorio base que deberá proporcionar el usuario (el programa recorrerá todos los directorios y carpetas incluidas en el directorio base). Existen dos modalidades de Búsqueda: La opción "A"/"a" con el que se realizará la búsqueda de todos los archivos que tengan una determinada extensión y la opción "B"/"b" en el que se realizará la búsqueda por nombre o término de búsqueda.
ff
ff2
ff3
PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.
Imágen de perfil

Clase para buscar una carpeta o un archivo y mostrar el contenido


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 15 de Mayo del 2017 por Kip (28 códigos)
24.610 visualizaciones desde el 15 de Mayo del 2017
Una clase que busca una carpeta o un archivo en el directorio dado, por defecto busca en el directorio raiz /.

Ejemplo:

Instanciamos el objeto enviandole como parametros el tipo de busqueda a realizar y el directorio


1
finder = Finder('folder', '/')


Para hacer una busqueda insensible a mayusculas y minusculas, enviar como tercer parametro al momento de instanciar la clase un True:


1
finder = Finder('folder', './', True)

O simplemente luego de hacer la instancia acceder a a propiedad caseIns y darle el valor de True:

1
finder.caseIns = True

Luego llamamos al metodo find() enviandole la carpeta a buscar y luego llamamos al metodo showAll() para mostrar las coincidencias encontradas

1
finder.find('carpeta').showAll()

Puede usarse una expresion regular como parametro al metodo de busqueda, recordar que se debe enviar un True como segundo parametro para que la busqueda con la expresion funcione

1
finder.find('^carpeta$', True).showAll()

Si la busqueda esta tardando mucho, es posible cancelarla y dejar que muestre los resultados encontrados hasta el momento, CTRL + C y detendras la busqueda.

El metodo showAll() mostrara un listado de todas las coincidencias con un numero para luego poder seleccionar alguna entre ellas y mostrar su contenido.

Para mostrarlo podria hacerse asi, usando el metodo show():

1
2
op = input("Eliga una opcion de la lista anterior para mostrar el contenido: ")
finder.show(op)

Se envia como parametro el numero ingresado, luego mostrara el contenido de la carpeta selecionada o del archivo.

Al final la consola mostraria algo asi luego de ejecutar todo el codigo anterior:

1
2
3
4
5
6
7
8
9
10
11
Buscando........
Coincidencias: 1
[0] - './txt'
Eliga una opcion de la lista anterior para mostrar el contenido: 0
 
-> 3 archivos en el directorio seleccionado './txt'
-> Mostrando el contenido:
 
a.txt
b.txt
nuevo.txt

Para verificar que se encontraron coincidencias y asi poder pedir algun numero correspondiente a alguna de estas, se debe acceder a la propiedad matches y verificar el tamaño de esta:

1
2
if (len(finder.matches) > 1):
    #PIDO EL NUMERO DE ALGUNA COINCIDENCIA

La clase es sencilla, usa la palara reservada para retornar un generador y asi aligerar un poco la busqueda al momento de iterar los directorios.

https://wiki.python.org/moin/Generators

Aqui dejo el codigo de ejemplo de uso:

Busqueda de una carpeta

1
2
3
4
5
finder = Finder('folder', './', True)
finder.find('carpeta').showAll()
if (len(finder.matches) > 1):
    op = input("Eliga una opcion de la lista anterior para mostrar el contenido: ")
    finder.show(op)

Busqueda de un archivo

1
2
3
4
5
finder = Finder('file', './', True)
finder.find('archivo.txt').showAll()
if (len(finder.matches) > 1):
    op = input("Eliga una opcion de la lista anterior para mostrar el contenido del archivo: ")
    finder.show(op)