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


Posted in Python onJuly 23, 2009

比如

1--1

     2--1

          2

          3--1

               2

               3

     3--1

          2

          3

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

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

如图充分说明了递归、遍历的顺序以及rank值变化:(丑了点。。。)
python 生成目录树及显示文件大小的代码
下面放代码:

''' 
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里隐藏的“禅”
Jun 16 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
python中hasattr()、getattr()、setattr()函数的使用
Aug 16 Python
python 计算两个列表的相关系数的实现
Aug 29 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python使用smtplib模块发送邮件
Dec 17 Python
Python爬虫回测股票的实例讲解
Jan 22 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 Python
python 域名分析工具实现代码
Jul 15 #Python
python 自动提交和抓取网页
Jul 13 #Python
python self,cls,decorator的理解
Jul 13 #Python
python 解析html之BeautifulSoup
Jul 07 #Python
打印出python 当前全局变量和入口参数的所有属性
Jul 01 #Python
python 查找文件夹下所有文件 实现代码
Jul 01 #Python
python 运算符 供重载参考
Jun 11 #Python
You might like
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
学前教育毕业生自荐信范文
2013/12/24 职场文书
信访工作者先进事迹
2014/01/17 职场文书
企业军训感言
2014/02/08 职场文书
会计专业自荐书
2014/07/08 职场文书
合作协议书格式
2014/08/19 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
违纪检讨书
2015/01/27 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
张思德观后感
2015/06/09 职场文书
投诉信回复范文
2015/07/03 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
Go语言特点及基本数据类型使用详解
2022/03/21 Golang