Existe-t-il un moyen d'utiliser glob sur un répertoire pour obtenir des fichiers avec une extension spécifique, mais uniquement le nom de fichier lui-même, pas le chemin complet?
Utilisez os.path.basename(path)
pour obtenir le nom de fichier.
Cela pourrait aider quelqu'un:
names = [os.path.basename(x) for x in glob.glob('/your_path')]
Utilisez glob en combinaison avec os.path.basename
.
Je continue de réécrire la solution pour globbing relatif (surtout quand j'ai besoin d'ajouter des éléments à un fichier zip) - c'est à quoi cela ressemble généralement.
# Function
def rel_glob(pattern, rel):
"""glob.glob but with relative path
"""
for v in glob.glob(os.path.join(rel, pattern)):
yield v[len(rel):].lstrip("/")
# Use
# For example, when you have files like: 'dir1/dir2/*.py'
for p in rel_glob("dir2/*.py", "dir1"):
# do work
pass