Получить абсолютные пути ко всем файлам в дереве директорий
Я не нашёл функцию ни в glob, ни в os, которая возвращает все файлы дерева каталогов. Есть ли такая функция? Если да, то приведите её. Если нет, то приведите Вашу реализацию получения всех абсолютных путей до файлов, начиная с заданной директории.
Ответы (2 шт):
Автор решения: hedgehogues
→ Ссылка
Один из самых компактных способов:
from pathlib import Path
files = []
for p in Path(path).rglob('*'):
files.append(str(p.parent)+p.name)
Автор решения: MaxU
→ Ссылка
Используя glob.glob():
files = [os.path.abspath(f) for f in glob.glob(f"{path}/**/*")]
Используя pathlib.Path.rglob():
files = [str(f.absolute()) for f in Path(path).rglob("*")]
Используя pathlib.Path.glob():
files = [str(f.absolute()) for f in Path(path).glob("**/*")]
Импорт класса Path вне зависимости от версии Python:
try:
from pathlib import Path # Python 3.x
except ImportError:
from pathlib2 import Path # Python 2.x (pip install pathlib2)