From 9d4ebaf1342be5c13df42458d777dab02bc56978 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Tue, 15 Apr 2025 21:37:35 +0100 Subject: [PATCH] =?UTF-8?q?cria=C3=A7=C3=A3o=20de=20fun=C3=A7=C3=A3o=20lis?= =?UTF-8?q?tar=5Fficheiros()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scanner.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 scanner.py 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