2011-02-27 37 views

回答

1

這工作:

#!/usr/bin/env python 

import os 

def walklevel(some_dir, level): 
    some_dir = some_dir.rstrip(os.path.sep) 
    num_sep = some_dir.count(os.path.sep) 
    for root, dirs, files in os.walk(some_dir): 
     yield root, dirs, files 
     num_sep_this = root.count(os.path.sep) 
     if num_sep + level <= num_sep_this: 
      del dirs[:]   

for root,dirs,files in walklevel('.',3): 
    for dir in dirs: 
     tabs='\t'*root.count(os.path.sep) 
     print tabs,dir 
5

os.walk()是你的朋友。

+0

在你給(Python文檔)有沒有例子的鏈接。你能幫我解釋一下代碼嗎? – Bob 2011-02-27 14:56:25

+1

@Bob文檔實際上直接指向一個例子! – extraneon 2011-02-27 14:58:27

+0

@Bob:不,那裏有兩個例子。 – wRAR 2011-02-27 14:58:34

0

這個Python例子應該可以幫助你解決你的問題。

for ROOT,DIR,FILES in os.walk("/mypath"): 
    for file in FILES: 
     print file 
    print DIR 
    rc = performOtherPythonTasks() 
相關問題