Перебирать файлы в каталоге в Python

Google Translate Icon

В этом посте будет обсуждаться, как перебирать файлы в каталоге в Python.

1. Использование os.listdir() функция

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

Скачать код

 
Чтобы получить файлы определенного расширения, скажите .txt, вы можете добавить условие для проверки расширения файла.

Скачать код

2. Использование os.scandir() функция

Начиная с Python 3.5, рассмотрите возможность использования os.scandir() функция, когда вам нужна информация о типе файла или атрибуте файла. Он возвращает записи каталога и информацию об атрибутах файла, обеспечивая значительно более высокую производительность по сравнению с os.listdir().

Скачать код

3. Использование pathlib модуль

В Python 3.4 вы также можете использовать pathlib модуль. Чтобы перебрать файлы в каталоге, используйте Path.glob(pattern) функция, которая размещает заданный относительный шаблон в указанном каталоге и дает соответствующие файлы.

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

Скачать код

 
В качестве альтернативы вы можете использовать Path.iterdir() функция, которая возвращает объекты пути содержимого каталога. Чтобы получить расширение файла, используйте suffix имущество:

Скачать код

4. Использование os.walk() функция

Если вам нужно также искать подкаталоги, рассмотрите возможность использования os.walk() функция. Это дает 3-кортеж (dirpath, dirnames, filenames) для всего, что доступно из указанного каталога, где dirpath это путь к каталогу, dirnames это список имен подкаталогов в dirpath, и filenames представляет собой список имен файлов, не входящих в каталоги, в каталоге dirpath.

Скачать код

 
Начиная с Python 3.5, os.walk() звонки os.scandir() вместо os.listdir(), что делает его быстрее за счет уменьшения общего количества вызовов os.stat().

5. Использование glob модуль

Наконец, вы можете использовать glob.iglob функция, которая возвращает итератор по списку путей, соответствующих указанному шаблону.

Скачать код

 
Расширенная поддержка Python версии 3.5 для рекурсивных глобусов с использованием ** что позволяет вам искать подкаталоги и символические ссылки на каталоги.

Скачать код

Это все, что касается перебора файлов в каталоге в Python.

Оценить этот пост

Средний рейтинг 5/5. Подсчет голосов: 29

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?




Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования :)



Подписывайся
Уведомить о
guest
1 Комментарий
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
НЕ переходите по этой ссылке, иначе вы будете забанены на сайте!