«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу получить отсортированный список файлов в каталоге по дате создания с помощью Python?

Как я могу получить отсортированный список файлов в каталоге по дате создания с помощью Python?

Опубликовано 16 ноября 2024 г.
Просматривать:335

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

Получение списков каталогов, отсортированных по дате создания, с использованием Python

При навигации по каталогу часто возникает необходимость получить отсортированный список его содержимого в соответствии с конкретными критериями, такими как дата создания. В Python эту задачу можно выполнить с легкостью.

Предлагаемый подход:

Для достижения этой цели используется комбинация встроенных в Python модулей манипуляции с файловой системой и функции сортировки. трудоустроен. Следующий фрагмент кода иллюстрирует этот процесс:

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))

Этот фрагмент кода начинается с получения списка всех файлов в указанном каталоге с помощью os.listdir(). Впоследствии любые элементы, не являющиеся файлами (например, каталоги, ссылки), отфильтровываются с помощью os.path.isfile(). Чтобы гарантировать правильные пути к файлам, каждое имя файла начинается с пути к каталогу поиска.

Затем файлы сортируются в соответствии со временем их изменения с помощью функции os.path.getmtime(). Эта функция возвращает время последней модификации файла в числовом формате. Передавая эту функцию в качестве ключевого аргумента функции sorted(), файлы упорядочиваются в хронологическом порядке, причем первыми отображаются самые последние созданные файлы.

Альтернативный подход:

Альтернативный подход предполагает использование модуля glob для фильтрации файлов и получения списка абсолютных путей к файлам:

import glob
import os

search_dir = "/mydir/"
# This glob will look for all files and exclude any directories
files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))

Этот код по существу выполняет поиск по всему содержимому указанного каталога и его подкаталогов, включая все файлы и исключая любые каталоги. Функция glob.glob() позволяет при необходимости более гибко сопоставлять имена файлов.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3