2017-07-11 82 views
0

在python中使用os.walk時,如何才能返回目標目錄中的文件夾樹葉。在Python中以遞歸方式返回文件夾路徑和文件名

這裏是我的功能:

def get_files(directory): 
    directory = os.path.abspath(directory) 
    if not os.path.isdir(directory): 
     return False 

    files = [] 
    for root, subdirs, files in os.walk(directory): 
     for f in files: 
      if not f.lower().endswith('.jpg'): 
       continue 

      print root, f 

get_files('C:/Temp') 

它返回這樣的:

C:\Temp\images socket.jpg 
C:\Temp\images vexusrollout.jpg 
C:\Temp\newdocs\images utilityrollout.jpg 
C:\Temp\newdocs\images vexushelper.jpg 
C:\Temp\newdocs\images vexusmtl.jpg 
C:\Temp\newdocs\images vexusrollout.jpg 

我寧願它返回此:

images socket.jpg 
images vexusrollout.jpg 
newdocs\images utilityrollout.jpg 
newdocs\images vexushelper.jpg 
newdocs\images vexusmtl.jpg 
newdocs\images vexusrollout.jpg 

任何目錄我的目標之間的主要區別爲了循環,我不希望這一點被包含在輸出中。

+0

如果你知道你是通過你的迭代可以簡單地切片串目錄:'打印根[9:],F' – victor

回答

3

變化

print root, f 

print root[len(directory)+1:], f 
相關問題