(Modifié pour améliorer la réponse)
Définir d'abord une fonction get_latest_file
def get_latest_file(path, *paths):
fullpath = os.path.join(path, paths)
...
get_latest_file('example', 'files','randomtext011.*.txt')
Vous pouvez également utiliser une docstring !
def get_latest_file(path, *paths):
"""Returns the name of the latest (most recent) file
of the joined path(s)"""
fullpath = os.path.join(path, *paths)
Si vous utilisez Python 3 vous pouvez utiliser iglob à la place.
Code complet pour retourner le nom du dernier fichier :
def get_latest_file(path, *paths):
"""Returns the name of the latest (most recent) file
of the joined path(s)"""
fullpath = os.path.join(path, *paths)
files = glob.glob(fullpath) # You may use iglob in Python3
if not files: # I prefer using the negation
return None # because it behaves like a shortcut
latest_file = max(files, key=os.path.getctime)
_, filename = os.path.split(latest_file)
return filename
3 votes
Quel est le fichier que vous essayez de trouver ? Ajoutez votre code pertinent à la quesiton.
1 votes
Je devine pourquoi cela ne fonctionne pas pour vous : est-ce que "files" est une liste d'éléments de noms de fichiers ou une seule chaîne de noms de fichiers ?