Skip to main content
 首页 » 编程设计

python目录递归遍历程序

2025年05月04日16jackei

我的程序不相信文件夹是目录,假设它们是文件,因此,递归将文件夹打印为文件,然后由于没有文件夹等待遍历,程序结束。

import os 
import sys 
class DRT: 
    def dirTrav(self, dir, buff): 
        newdir = [] 
        for file in os.listdir(dir): 
            print(file) 
            if(os.path.isdir(file)): 
                newdir.append(os.path.join(dir, file)) 
        for f in newdir: 
            print("dir: " + f) 
            self.dirTrav(f, "") 
dr = DRT() 
dr.dirTrav(".", "") 

请您参考如下方法:

参见 os.walk从那里:

此示例显示起始目录下每个目录中非目录文件占用的字节数,除了它不在任何 CVS 子目录下查找:

import os 
from os.path import join, getsize 
for root, dirs, files in os.walk('python/Lib/email'): 
    print root, "consumes", 
    print sum(getsize(join(root, name)) for name in files), 
    print "bytes in", len(files), "non-directory files" 
    if 'CVS' in dirs: 
        dirs.remove('CVS')  # don't visit CVS directories