Используйте os.path.join
для объединения каталога и файла name :
for path, subdirs, files in os.walk(root):
for name in files:
print os.path.join(path, name)
Обратите внимание на использование path
, а не root
в конкатенации, поскольку использование root
было бы неправильным.
В Python 3.4 был добавлен модуль pathlib для упрощения манипулирования путями. Таким образом, эквивалент os.path.join
будет:
pathlib.PurePath(path, name)
Преимущество pathlib
в том, что вы можете использовать различные полезные методы на путях. Если вы используете конкретный вариант Path
, вы также можете выполнять реальные вызовы ОС через них, такие как чендинг в каталог, удаление пути, открытие файла, на который он указывает, и многое другое.