"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso obter uma lista ordenada de arquivos em um diretório por data de criação usando Python?

Como posso obter uma lista ordenada de arquivos em um diretório por data de criação usando Python?

Publicado em 2024-11-16
Navegar:388

How can I get a sorted list of files in a directory by creation date using Python?

Obtendo listagens de diretórios classificadas por data de criação usando Python

Ao navegar em um diretório, muitas vezes surge a necessidade de obter uma lista de seu conteúdo classificado de acordo com critérios específicos, como data de criação. Em Python, essa tarefa pode ser realizada com facilidade. empregado. O trecho de código a seguir ilustra esse processo:

import glob importar sistema operacional search_dir = "/meudir/" arquivos = [os.path.join(search_dir, f) para f em os.listdir(search_dir) se os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))Este trecho de código começa obtendo uma lista de todos os arquivos no diretório especificado usando os.listdir(). Posteriormente, quaisquer itens que não sejam de arquivo (por exemplo, diretórios, links) são filtrados usando os.path.isfile(). Para garantir caminhos de arquivo corretos, cada nome de arquivo é prefixado com o caminho do diretório de pesquisa.

Os arquivos são então classificados de acordo com o horário de modificação usando a função os.path.getmtime(). Esta função retorna a hora da última modificação de um arquivo em formato numérico. Ao passar esta função como argumento chave para a função sorted(), os arquivos são organizados em ordem cronológica, com os arquivos criados mais recentemente aparecendo primeiro.

import glob
import os

search_dir = "/mydir/"
files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))
Abordagem alternativa:

Uma abordagem alternativa envolve a utilização do módulo glob para filtrar os arquivos e obter uma lista de caminhos absolutos de arquivos:

import glob importar sistema operacional search_dir = "/meudir/" # Este globo irá procurar todos os arquivos e excluir todos os diretórios arquivos = [f para f em glob.glob(f"{search_dir}/**", recursivo=True) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))Este código pesquisa essencialmente todo o conteúdo do diretório especificado e seus subdiretórios, incluindo todos os arquivos e excluindo quaisquer diretórios. A função glob.glob() permite uma correspondência de nome de arquivo mais flexível, se necessário.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3