2013-06-03 34 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

相关问题