2013-06-03 4 views
0

Используя Python, я хочу напечатать все файлы внутри данного каталога, не отображая сама директория. Я пытался использовать os.walk, но он всегда печатает каталог.Python - представить все файлы в определенной папке без данной папки

for root, dirs, files in os.walk(directory): 
     for subFile in files: 
      print os.path.join(root, subFile) 

Я использовал каталог 'DummyFolder/testFolder'

Он печатает:

DummyFolder/testFolder/folder1/folder2/file.txt 
DummyFolder/testFolder/folder1/folder2/file2.txt 
DummyFolder/testFolder/folder3/file3.txt 

я хочу, чтобы напечатать:

folder1/folder2/file.txt 
folder1/folder2/file2.txt 
folder3/file3.txt 

Как это можно сделать?

Спасибо!

+1

Просто напечатайте 'subFile', а не' присоединяйтесь к нему с 'root', который вам не нужен. – raymonad

+1

Выведется меня file.txt file2.txt file3.txt без подпапок они находятся в. Я хочу только каталог я вошел в функцию, которая будет опущено. – TidharPeer

+0

Верно, извините. Вам нужна часть 'root' для subdirs и' relpath', так как предложенный вариант действительно самый простой способ. – raymonad

ответ

2

Используйте os.path.relpath, чтобы получить путь относительно вашего каталога.

print(os.path.relpath(os.path.join(root, subFile), directory)) 
+0

Отлично! Благодаря! Я расскажу о relpath() еще ... – TidharPeer

Смежные вопросы