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,248FansLike
10FollowersFollow
153FollowersFollow
377FollowersFollow

Subscribe to HitXP Articles

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

Latest Articles

An Efficient Strategy to fight Corona Virus

By setting up local police station level online delivery networks for essential items like grocery, medicines - the need for general public to come out of their homes can be removed.

Rising pollution can cause Pandemics deadlier than Corona Virus

Rising pollution can expose ancient killer microbes that may cause pandemics more deadlier than Corona. Melting Ice Sheets can resurrect killer agents of the past.

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?
Content Protection by DMCA.com