Código de Python - Buscador de archivos en el sistema de carpetas.

Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscador de archivos en el sistema de carpetas.gráfica de visualizaciones


Python

Actualizado el 4 de Enero del 2022 por Antonio (75 códigos) (Publicado el 25 de Octubre del 2021)
3.766 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.

Requerimientos

Se necesita tener instalada la librería "colorama".

1.0

Actualizado el 15 de Noviembre del 2021 (Publicado el 25 de Octubre del 2021)gráfica de visualizaciones de la versión: 1.0
645 visualizaciones desde el 25 de Octubre del 2021

1.2

Actualizado el 4 de Enero del 2022 (Publicado el 15 de Noviembre del 2021)gráfica de visualizaciones de la versión: 1.2
3.122 visualizaciones desde el 15 de Noviembre del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Esta versión incluye la posibilidad de mostrar la separación, por directorios, en los resultados de búsqueda de archivos.
PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.
ff3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from colorama import init, Fore, Back
 
def AB():
    while True:
        op = input("Introduzca aquí su opción: ").upper().strip()
        if op == "A" or op == "B":
            return op
            break
        else:
            print("Introduce A o B según su opción.")
 
def check_name_ex(ex):
    if not "." in ex:
        ex = "."+ex
    return ex
 
def BMP(s):
    return "".join((i if ord(i) < 10000 else '\ufffd' for i in s))
 
def change_dir():
    while True:
        dire = input("Introduzca directorio base: ").strip()
        if os.path.isdir(dire):
            os.chdir(dire)
            break
        else:
            print(Fore.RED+"ERROR, DIRECTORIO NO VÁLIDO"+Fore.RESET)
 
def show_dir(direc):
    global showed_dir
    if showed_dir == False:
        print(Fore.BLUE+Back.WHITE+direc+Fore.RESET+Back.RESET)
        showed_dir = True
 
 
def ns(c):
    while c.lower()!=("s") and c.lower()!=("n"):
        print(chr(7));c=input("Escribe solo \'n\' o \'s\' según su opción: ")
    return(c.lower())
 
conti = "s"
while(conti == "s"):
    init()
    print(Back.BLUE+"\n----------------------------------FILE FINDER----------------------------------")
    print(Back.RESET+"")
    print("Directorio actual: {} ".format(os.getcwd()))
    print("\n**********ELIJA OPCIÓN**********")
    print("A) BUSCAR ARCHIVOS POR EXTENSIÓN.")
    print("B) BUSCAR UN ARCHIVO POR NOMBRE.")
    print("********************************\n")
    count = 0
    opc = AB()
    showed_dir = False
 
    if opc == 'A':
        change_dir()
        filetype = check_name_ex(input("Introduce extension: ").strip())
        sep = ns(input("¿Incluir separación por directorios?(n/s): "))
        print("BUSCANDO...\n")
        for nombredir, dirs, ficheros in os.walk(os.getcwd()):
            for nombrefichero in ficheros:
                name,ex = os.path.splitext(nombrefichero)
                if filetype == ex:
                    if sep == "s":
                        show_dir(nombredir)
                    count+=1
                    print(Fore.GREEN+'{}-'.format(count)+os.path.join(nombredir,BMP(nombrefichero)))
            showed_dir = False
 
        if count > 0:
            print(Fore.BLACK+Back.GREEN+'\n{} ARCHIVOS ENCONTRADOS.'.format(count))
        else:
            print(Fore.BLACK+Back.RED+'\n{} ARCHIVOS ENCONTRADOS.'.format(count))
        print(Fore.RESET+Back.RESET+"")
 
    elif opc == "B":
        change_dir()
        texto_requerido = BMP(input("Introduce archivo a buscar o término de busqueda: "))##############
        sep = ns(input("¿Incluir separación por directorios?(n/s): "))
        print("BUSCANDO...\n")
        for root, folders, files in os.walk(os.getcwd()):
            for file in files:
                name,ex = os.path.splitext(file)
                if texto_requerido == file or texto_requerido in name:
                    if sep == "s":
                        show_dir(root)
                    count+=1
                    print(Fore.GREEN+'{}-'.format(count)+os.path.join(root,BMP(file)))
            showed_dir = False
 
        if count == 0:
            print(Fore.BLACK+Back.RED+"No se encontraron coincidencias con \'{}\'.".format(texto_requerido))
        else:
            print(Fore.BLACK+Back.GREEN+"\n{} ARCHIVOS ENCONTRADOS.".format(count))
        print(Fore.RESET+Back.RESET+"")
 
    conti = ns(input("¿Continuar(n/s)?: "))



Comentarios sobre la versión: 1.2 (0)


No hay comentarios
 

Comentar la versión: 1.2

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7171