python显示目录树,python 生成目录树及显示文件大小的代码

比如

1--1

2--1

2

3--1

2

3

3--1

2

3

交错的层级关系,刚开始感觉很乱没有想明白,后来终于抓住了关键。只要算出每个层次的深度,就好办了。

我定义了一个rank,进入一个子文件夹时,让rank+1,遍历完子文件夹rank就-1。

如图充分说明了递归、遍历的顺序以及rank值变化:(丑了点。。。)

1435H05596250-12040.jpg

下面放代码:

代码如下:

'''

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生成的好。。。。。。。

1435H05600-2b04.jpg

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值