Exemple de cas: on veut obtenir une liste de tous les fichiers dans le dossier 'output' se terminant par '.hdf':
./output/
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
MYD06_L2.A2014054.2125.061.2018052131042.hdf
MYD06_L2.A2014034.2015.061.2018052062330.hdf
MYD06_L2.A2014059.2010.061.2018052140044.hdf
.
.
.
Pour cela il existe le module python glob:
import glob
path_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)
donne
./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
.
.
.
Maintenant pour créer une liste avec les noms de fichiers uniquement, on peut utiliser les list comprehensions de python:
file_list = [i.split('/')[-1] for i in path_to_file_list]
print(file_list)
donne
['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', ... ]
Références
Liens | 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 |