Home Code List all files in a directory in Python

List all files in a directory in Python

We can get a list of files in a directory or folder in Python using the function os.listdir which takes the folder path as an argument and lists the names of all files and folders inside the given directory.

List names of all files and folders in a directory

If we simply want to find the names of all files and folders in a directory, then use the following Python code snippet by replacing folder_path with your folder path.

from os import listdir

files_folders = [file_folder_name for file_folder_name in listdir(folder_path) ]

List names of files only in a directory in Python

If you want to list only files in a directory, then use the following Python code snippet by replacing folder_path with your folder path. This works only in Python 3.5 or later..

from os import scandir

folders_only = [folder.name for folder in scandir(folder_path) if folder.is_file() ]

Alternately, for versions of Python older than 3.5 you can use the following code to list file names.

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

files_only = [file_name for file_name in listdir(folder_path) if isfile(join(folder_path,file_name))]

List names of sub folders in a directory in Python

If you want to list only sub directories in a directory, then use the following Python code snippet by replacing folder_path with your folder path. This works only in Python 3.5 or later.

from os import scandir

folders_only = [folder.name for folder in scandir(folder_path) if folder.is_dir() ]

Alternately, for versions of Python older than 3.5 you can use the following code to list names of sub directories.

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

folders_only = [folder_name for folder_name in listdir(folder_path) if not isfile(join(folder_path,folder_name))]

List all files with a given extension only in Python

If you want to list only those files in a directory having a given extension, you can do it in Python as follows. Replace ‘extension’ with you extension like ‘.txt’ or ‘.jpg’ or ‘.pdf’.

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

files_only = [file_name for file_name in listdir(folder_path) if isfile(join(folder_path,file_name)) and file_name.endswith(extension)]

List files in a directory using glob

Alternately, you can use glob to list all files in a directory. The benefit of using glob is that it allows patterns to be used to match file names. It also returns the complete path of the each file. For instance to find all text files in a folder using glob the corresponding code would be:

import glob

text_files_with_path = glob.glob("/my_folder_path/*.txt")
Content Protection by DMCA.com
Gurudevhttps://www.hitxp.com
Gurudev is the developer of Gurunudi AI Platform. This is his official website where he pens his thoughts on a wide range of topics, answers queries, shares resources and tools developed by him.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,258FansLike
7FollowersFollow
133FollowersFollow
380FollowersFollow

Subscribe to HitXP Articles

To be updated with all the latest articles, offers and special announcements.

Latest Articles

Corona Virus, SARS – Why are new viruses increasingly originating from China?

The reason why new strains of deadly viruses are emerging from China. Viruses like coronavirus and SARS should be stopped from evolving and spreading to prevent another global pandemic.

Evolution of life – primitive cells, complex organisms, intelligence, what next after humans?

Evolution of life from primitive life forms to complex multi cellular organisms to intelligent human species - the advent of AI raises a natural question - What next after human?

The individual human is smart, but the human species is dumb

The smart individual human has to clean up the mess created by his dumb species. Species polluted the planet, individuals are cleaning it up.

What if Dinosaurs did not go extinct 65 million years ago?

Imagine a world where dinosaurs did not go extinct, because that asteroid missed colliding with Earth. How would have life evolved then?
Content Protection by DMCA.com