2011-02-27 38 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() 
相关问题