Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding:utf-8
- """ Criação de uma pesquisa funcional no Windows, nas pastas seguintes: C:\\Program Files,
- e caso exista C:\\Program Files(x86)
- OBS: PESQUISAS QUE NÃO SEJAM PROGRAMAS OU ARQUIVOS DE PROGRAMAS N IRÃO FUNCIONAR
- POIS A BUSCA OCORRERÁ APENAS NA PASTA ARQUIVOS DE PROGRAMAS"""
- from glob import glob # para pesquisa com *.ext
- from os import chdir, listdir # chdir para ir até o diretório, listdir para listar arquivos dos diretórios (i.e, pastas e arquivos)
- from functools import lru_cache as cache
- # VARIABLE(S) GLOBAL(S), IF EXISTS MORE THAN ONE...
- # NOT USED IN THIS PROGRAM.
- path_master = 'C:\\'
- extensions = ['.dll', '.exe', '.ico', '.png', '.']
- # DEFINE THE CLASS FOR CLEAR THE 'WINDOW'
- class LimparJanela:
- command = ""
- def __init__(self):
- import sys
- if sys.platform == "win32":
- self.command = "cls"
- else:
- self.command = "clear"
- clear = input("Clear the window (y/n): ")
- if clear.lower() == 'y':
- self.limpar()
- else:
- pass
- def limpar(self):
- import os
- os.system(self.command)
- # REST OF PROGRAM
- cache(maxsize=None)
- def diretorios_possiveis(diretorio_mestre):
- numeros = (i for i in range(0, 10))
- dirs = listdir(diretorio_mestre)
- dirs_available = []
- for item in dirs:
- if '.' in item:
- pass
- elif str(item[0]) in str(numeros):
- pass
- else:
- dirs_available.append(item)
- return dirs_available
- cache(maxsize=None)
- def pesquisa_tudo(diretorios, nome_arquivo): # diretorios e.g dirs = diretorios_possiveis(path_master)
- global direc
- nome_arquivo = nome_arquivo + '*'
- acessados = []
- achados = []
- try:
- for direc in diretorios:
- if direc in acessados:
- pass
- else:
- direc = path_master+direc
- chdir(direc)
- # print("Estamos no diretório: %s" % direc)
- for arquivo in glob(nome_arquivo):
- #print(arquivo)
- achados.append(arquivo)
- except FileNotFoundError:
- print("O sistema não pôde encontrar o 'arquivo' especificado")
- except NotADirectoryError:
- print("Isso não é um diretório")
- except PermissionError:
- print("Não temos permissão para acessar esse 'arquivo'")
- return achados
- dirs = diretorios_possiveis(path_master)
- search_input = input("Digite o nome do arquivo de pesquisa: ")
- founds = pesquisa_tudo(dirs, search_input)
- LimparJanela()
- print("\n\nArquivos encontrados: ")
- for found in founds:
- print(found)
Advertisement
Add Comment
Please, Sign In to add comment