diff --git a/scanner.py b/scanner.py new file mode 100644 index 0000000..5b1713a --- /dev/null +++ b/scanner.py @@ -0,0 +1,23 @@ +# scanner.py +# Funções para ler diretórios e listar ficheiros +from pathlib import Path + + +def listar_ficheiros(origem: str = ".") -> list: + """ + Percorrer recursivamente a pasta de origem e devolver lista de caminhos completos dos ficheiros. + versão Pathlib + """ + lista_caminhos_ficheiros: list = [] + try: + caminho_origem = Path(origem) + for item in caminho_origem.iterdir(): + if item.is_dir(): + lista_caminhos_ficheiros.extend(listar_ficheiros(str(item.resolve()))) + else: + lista_caminhos_ficheiros.append(str(item.resolve())) + except FileNotFoundError: + print(f"Erro: a pasta '{origem}' não existe.") + except PermissionError: + print(f"Erro: sem permissões para aceder a '{origem}'.") + return lista_caminhos_ficheiros