python glob
# Basic syntax:
glob.glob('/directory/to/search/search_pattern')
# Where the search_pattern follows the Unix path expansion rules
# Example usage:
# Say you have a directory containing the following files and you only
# want to get the filenames ending in png:
/directory/file.png
/directory/file1.txt
/directory/file2.txt
/directory/file3.png
glob.glob('/directory/*png') # Returns list of matching paths:
--> ['/directory/file.png', '/directory/filea.png']
# If you want just the filenames, you can easily parse with split:
files = glob.glob('/directory/*png')
filenames = [files[i].split('/')[-1] for i in range(len(files))]
print(filenames)
--> ['file.png', 'filea.png']
# Note, the glob module only supports the * and the ? wildcards
# Python program to find files
# recursively using Python
import glob
# Returns a list of names in list files.
print("Using glob.glob()")
files = glob.glob('/home/geeks/Desktop/gfg/**/*.txt',
recursive = True)
for file in files:
print(file)
# It returns an iterator which will
# be printed simultaneously.
print("\nUsing glob.iglob()")
for filename in glob.iglob('/home/geeks/Desktop/gfg/**/*.txt',
recursive = True):
print(filename)