python 生成目录树及显示文件大小的代码
2009-07-23 00:00
645 查看
比如
1--1
2--1
2
3--1
2
3
3--1
2
3
交错的层级关系,刚开始感觉很乱没有想明白,后来终于抓住了关键。只要算出每个层次的深度,就好办了。
我定义了一个rank,进入一个子文件夹时,让rank+1,遍历完子文件夹rank就-1。
如图充分说明了递归、遍历的顺序以及rank值变化:(丑了点。。。)
下面放代码:
生成树如下。没有微软tree生成的好。。。。。。。
1--1
2--1
2
3--1
2
3
3--1
2
3
交错的层级关系,刚开始感觉很乱没有想明白,后来终于抓住了关键。只要算出每个层次的深度,就好办了。
我定义了一个rank,进入一个子文件夹时,让rank+1,遍历完子文件夹rank就-1。
如图充分说明了递归、遍历的顺序以及rank值变化:(丑了点。。。)
下面放代码:
''' Created on Jul 22, 2009 @author: dirful ''' import os class dir(object): def __init__(self): self.CONST =0 self.SPACE ="" self.list =[] def p(self,url): files = os.listdir(r''+url) for file in files: myfile = url + "\\"+file size = os.path.getsize(myfile) if os.path.isfile(myfile): self.list.append(str(self.SPACE)+"|____"+file +" "+ str(size)+"\n") # print str(self.SPACE)+"|____"+file +" "+ str(size) if os.path.isdir(myfile) : self.list.append(str(self.SPACE)+"|____"+file + "\n") #get into the sub-directory,add "| " self.SPACE = self.SPACE+"| " self.p(myfile) #when sub-directory of iteration is finished,reduce "| " self.SPACE = self.SPACE[:-5] return self.list def writeList(self,url): f = open(url,'w') f.writelines(self.list) print "ok" f.close() if __name__ == '__main__': d=dir() d.p("E:/eclipse") d.writeList("c:3.txt")
生成树如下。没有微软tree生成的好。。。。。。。
相关文章推荐
- python 生成目录树及显示文件大小的代码
- python 生成目录树及显示文件大小的代码
- python 实现生成目录树及显示文件大小
- php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- Python 包、模块、类以及代码文件和目录的一种管理方案
- Linux下按照时间和大小生成新文件的程序流程及其C代码实现
- 将C++代码全部写到头文件:)python脚本帮助自动生成相应的实现文件初始框架
- Linux下运行Python脚本显示“: 没有那个文件或目录”问题
- 遍历文件目录的python 代码
- python 显示目录下文件
- JavaWeb项目中WEB-INF目录下class文件自动生成以及显示
- 用python对指定目录下的所有文件(夹)大小进行排序
- Python获取指定目录下文件数量及总大小
- 遍历显示目录文件的C++语言程序代码
- ASP显示目录下所有的文件代码
- Python快速生成指定大小的大文件
- 代码管理 中 设计 asp.ne 网站 不要把 bin 和 obj 目录下生成文件加入到代码管理中
- 用Python编写生成树状结构的文件目录的脚本的教程
- python写一段脚本代码自动完成输入(目录下的所有)文件的数据替换(修改数据和替换数据都是输入的)【转】
- python统计指定目录内文件的代码行数