Python Как получить все файлы в папке


#1

Как можно получить весь список файлов находившихся в папке по пути "D:\MyFolder". У C# для этого есть класс Directory и его метод GetFiles, есть ли что-то аналогичное в пайтон?


#2

import os


#3

Есть несколько вариантов:

  1. использовать os.listdir() для получения всех файлов и попок в каталоге, после чего отфильтровать папки используя os.path:

пример:

from os import listdir
from os.path import isfile, join

files= [f for f in listdir("D:\MyFolder") if isfile(join("D:\MyFolder", f))]
  1. использовать os.walk, который вернёт два списка для каждой посещаемой директории находящейся в указанной Вами папке. Если нужно получить файлы только в папке MyFolder, то прервите выполнение цикла после первой его итерации

пример:

from os import walk

f = []
for (dirpath, dirnames, filenames) in walk("D:\MyFolder"):
    f.extend(filenames)
    break
  1. используя модуль glob, который вернёт список с запрошенными файлами:

пример:

import glob
print(glob.glob("D:\MyFolder\*.txt"))

примерный результат:

`['D:\MyFolder\file1.txt', 'D:\MyFolder\file2.txt', .... ]`

#4

спасибо!