Example of how to create a list of files with a given extension in python. Lets assume we want to create a list of all the files with the extensions '.hdf' in a folder called 'output':
./output/MYD06_L2.A2014038.2300.061.2018052102433.hdfMYD06_L2.A2014033.1930.061.2018052042944.hdfMYD06_L2.A2014046.2210.061.2018052112538.hdfMYD06_L2.A2014058.2235.061.2018052141003.hdfMYD06_L2.A2014037.2045.061.2018052094723.hdfMYD06_L2.A2014054.2125.061.2018052131042.hdfMYD06_L2.A2014034.2015.061.2018052062330.hdfMYD06_L2.A2014059.2010.061.2018052140044.hdf...
A solution is to use the python module glob:
import globpath_to_target = './outputs/modis/myd06/'path_to_file_list = glob.glob(path_to_target + '*hdf' )for path_to_file in path_to_file_list:print(path_to_file)
which returns
./outputs/modis/myd06/MYD06_L2.A2014038.2300.061.2018052102433.hdf./outputs/modis/myd06/MYD06_L2.A2014033.1930.061.2018052042944.hdf./outputs/modis/myd06/MYD06_L2.A2014046.2210.061.2018052112538.hdf./outputs/modis/myd06/MYD06_L2.A2014058.2235.061.2018052141003.hdf./outputs/modis/myd06/MYD06_L2.A2014037.2045.061.2018052094723.hdf./outputs/modis/myd06/MYD06_L2.A2014054.2125.061.2018052131042.hdf./outputs/modis/myd06/MYD06_L2.A2014034.2015.061.2018052062330.hdf./outputs/modis/myd06/MYD06_L2.A2014059.2010.061.2018052140044.hdf...
Now to create a list with the filename only, we can use the python list comprehensions de python:
file_list = [i.split('/')[-1] for i in path_to_file_list]print(file_list)
gives:
['MYD06_L2.A2014038.2300.061.2018052102433.hdf', 'MYD06_L2.A2014033.1930.061.2018052042944.hdf', 'MYD06_L2.A2014046.2210.061.2018052112538.hdf', 'MYD06_L2.A2014058.2235.061.2018052141003.hdf', 'MYD06_L2.A2014037.2045.061.2018052094723.hdf', ... ]
References
| Links | Site |
|---|---|
| glob | docs.python.org |
| List Comprehensions in Python | pythonforbeginners.com |
| os.listdir() | python doc |
| How to list all files of a directory in Python | stackoverflow |
| Calling an external command in Python | stackoverflow |
