Q:

python glob

import glob

print 'Named explicitly:'
for name in glob.glob('dir/subdir/*'):
    print '\t', name

print 'Named with wildcard:'
for name in glob.glob('dir/*/*'):
    print '\t', name
1
# 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
1
# 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) 
0
import glob

subdirectories = glob.glob("./*/")
0
import glob
for name in glob.glob('dir/*[0-9].*'):
    print name
0
glob.glob("/home/ismail/*.txt")
0

New to Communities?

Join the community