Last modified: Feb 15, 2023 By Alexander Williams

Python Glob - How to Find Files in Python

In this tutorial, we'll learn how to find a file matching a specified pattern in python.

To do that, python provides us a built-function name's glog().

 

1. Finding a file on directory

 

In the following example, we'll find all files that end with .txt.

But first, let's see what we have in our directory.

 
    glob.glob('/home/py/Desktop/glob/*')

the pattern "*" : find all files in the /home/py/Desktop/glob/

 

output:

 

 
# ['/home/py/Desktop/glob/image.jpg', '/home/py/Desktop/glob/test2.txt', '/home/py/Desktop/glob/image-1.jpg', '/home/py/Desktop/glob/test.txt', '/home/py/Desktop/glob/video.mp4', '/home/py/Desktop/glob/image-3.jpg', '/home/py/Desktop/glob/image-2.mp4']

Now, let's retrieve files that end with .txt.

 
glob.glob('/home/py/Desktop/glob/*.txt')

 

output:

 

 
#['/home/py/Desktop/glob/test2.txt', '/home/py/Desktop/glob/test.txt']

 

2. Finding a file on multi directories

 

Example:

 glob.glob('/home/py/Desktop/glob/**/*.txt', recursive=True)

“**”: will match any files and zero or more directories and subdirectorie.

 

output:

 

 
['/home/py/Desktop/glob/test2.txt', '/home/py/Desktop/glob/test.txt', '/home/py/Desktop/glob/folder2/testfolder.txt']