Blog

Postado em em 23 de outubro de 2021

Arquivo Mais Recente de uma Pasta com Python – Como Descobrir?

Nessa aula eu quero te mostrar como descobrir o arquivo mais recente de uma pasta usando o Python para ajudar nas suas automações!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Arquivo mais recente de uma pasta com Python

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Arquivo mais Recente de uma Pasta com Python

Você já deve ter se deparado com uma situação de que precisava pegar o último arquivo modificado ou o arquivo mais recente de uma pasta para fazer uma automação não é mesmo?

Isso acontece porque as vezes nem sempre o arquivo que você precisa tem um nome específico, ou quando um programa salva o arquivo ele vem com um nome diferente.

Agora imagine que você tenha uma maneira de pegar esse arquivo mais recente para te ajudar na sua automação? Já imaginou como seria muito mais fácil?

Quer aprender como fazer isso? Na aula de hoje eu vou te ensinar esse passo a passo!

Arquivo Mais recente com Python

A ideia é que você consiga obter o arquivo mais recente modificado, ou seja, o arquivo mais recente em uma pasta para poder compor seu código e continuar sua automação sem que tenha esse problema.

O código que nós vamos utilizar é muito simples e fácil de entender, então você já vai poder utilizá-lo nos seus projetos para acrescentar essa nova funcionalidade.

Na primeira parte do código nós vamos listar os arquivos em uma pasta para que você possa verificar o arquivo mais recente.

import os

caminho = "C://Users/Python/Downloads"
lista_arquivos = os.listdir(caminho)

lista_datas = []
for arquivo in lista_arquivos:
    # descobrir a data desse arquivo
    if ".xlsx" in arquivo:
        data = os.path.getmtime(f"{caminho}/{arquivo}")
        lista_datas.append((data, arquivo))
    
    # data inicial = 01/01/2021
    # data1 = 02/01/2021 -> 10.000
    # data2 = 15/02/2021 -> 150.000
    
lista_datas.sort(reverse=True)
ultimo_arquivo = lista_datas[0]
print(ultimo_arquivo[1])

Aqui vamos utilizar a biblioteca OS para utilizar alguns comandos do sistema operacional.

Em seguida nós vamos obter a lista de arquivos da pasta desejada (nesse caso a pasta download), e vamos utilizar uma estrutura de repetição para repetir o procedimento para todos os arquivos.

A ideia é descobrir a data do arquivo, dentro do próprio código já deixamos um exemplo para facilitar.

É que essa data que o Python pega é uma data em segundos de quando o arquivo foi modificado, então quanto maior o valor mais recente é o arquivo.

Então nesse caso vamos pegar esse tempo e ajustar em uma lista para ter todas as informações de caminho e arquivo.

Em seguida nós vamos colocar dentro de uma outra lista a data e o arquivo, assim vamos saber qual é o mais recente e qual o nome desse arquivo.

Nesse caso vamos colocar a data sendo a primeira informação para utilizar o .sort que é o comando para ordenar as informações, e como esse comando ordena a primeira informação, ele já vai ordenar por data.

Só que nesse caso vamos colocar ele como reverse=true, para ordenar de forma decrescente, do maior para o menor.

Assim nós vamos ter o arquivo mais recente sendo o primeiro da nossa lista facilitando a visualização dele.

Por fim nós vamos pegar a informação da lista datas igual a 0, que é a primeira informação e vamos printar o item de número 1, que é a segunda informação.

Isso quer dizer que da lista de data e arquivo nós vamos pegar as duas primeiras informações que são data e arquivo do arquivo mais recente e dentro dessas duas informações nós vamos printar o arquivo.

Assim teremos o nome do arquivo que é o mais recente.

Então para que você possa testar nós disponibilizamos um arquivo em Excel. Assim que baixar o arquivo você pode rodar o código e vai verificar que o nome do arquivo que vai aparecer é o dele, pois é o arquivo mais recente.

Esse código é muito útil quando você precisa fazer o tratamento em arquivos que acabou de baixar, assim você consegue tratar o último arquivo que tem dentro da sua pasta.

Então pode combinar esse código com outros para deixar seu projeto ainda mais completo.

Conclusão – Arquivo mais Recente de uma Pasta

Nessa aula eu te mostrei como você pode encontrar o último arquivo modificado em uma pasta para poder automatizar seus processos que precisam desse arquivo.

E como falei no início, muita das vezes esses arquivos não possuem um padrão de nome, então fica mais difícil saber como pegar o último arquivo modificado.

Mas agora você tem um código bem simples que vai fazer isso de maneira rápida e fácil!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer ter acesso a um Minicurso de Finanças no Excel de forma 100% gratuita? Preencha seu e-mail abaixo!