Gerando Arquivos com Últimos Dias de Cada Mês Usando Python 3.9


Neste post, vou compartilhar um script em Python 3.9 que criei para gerar uma lista de arquivos com o último dia de cada mês entre os anos de 2021 e 2024, no formato especificado: YYYYMMDD_0.OUT. Esse tipo de geração automática de arquivos pode ser útil para aplicações que precisam processar dados mensalmente ou em sistemas que trabalham com arquivos por período.

O script considera anos bissextos, como 2024, onde fevereiro possui 29 dias, garantindo que o último dia do mês seja sempre calculado corretamente.

Funcionamento do Script

  • Utilizamos o módulo datetime para calcular o último dia de cada mês.
  • A lista gerada segue o formato YYYMMDD_0.OUT, onde YYYYMMDD é substituído pela data correta.
  • O intervalo de datas vai de janeiro de 2021 até dezembro de 2024, cobrindo quatro anos completos.

Se você precisa de uma solução que facilite o controle de datas ou arquivos mensais, este script será útil!

O Código

Aqui está o código que gera a lista:

"

from datetime import datetime, timedelta


def last_day_of_month(year, month):

    """Retorna o último dia do mês"""

    if month == 12:

        return datetime(year, month, 31)

    return datetime(year, month + 1, 1) - timedelta(days=1)


def generate_file_list(start_year, end_year):

    """Gera a lista com o último dia de cada mês entre start_year e end_year"""

    file_list = []

    for year in range(start_year, end_year + 1):

        for month in range(1, 13):

            last_day = last_day_of_month(year, month)

            # Formatar conforme a máscara solicitada

            file_name = f"INICIO_{last_day.strftime('%Y%m%d')}_FIM.OUT"

            file_list.append(file_name)

    return file_list


# Período: de 2021 a 2024

start_year = 2021

end_year = 2024


# Gera a lista de arquivos

file_list = generate_file_list(start_year, end_year)


# Imprime a lista

for file_name in file_list:

    print(file_name) "

Conclusão

Esse script é uma solução simples e eficaz para quem precisa gerar listas de arquivos baseadas em datas. Se você trabalha com automação de processos, ele pode economizar tempo e evitar erros manuais. Fique à vontade para modificar o código conforme suas necessidades!

0 comments:

Postar um comentário

Copyright © Blog do KDS By
Scroll To Top