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常用随机数与随机字符串方法实例
Apr 09 Python
在类Unix系统上开始Python3编程入门
Aug 20 Python
python多进程实现进程间通信实例
Nov 24 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
浅谈Python反射 & 单例模式
Mar 21 Python
numpy.linspace函数具体使用详解
May 27 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
基于keras中的回调函数用法说明
Jun 17 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Flask中jinja2的继承实现方法及实例
Mar 03 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默认安装产生系统漏洞
2006/10/09 PHP
php基本函数汇总
2015/07/09 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
任意位置显示html菜单
2007/02/01 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
js实现随机抽奖
2020/03/19 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
几款好用的python工具库(小结)
2020/10/20 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
初中生物教学反思
2014/01/10 职场文书
2014新年寄语
2014/01/20 职场文书
大专生自我评价
2014/01/28 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
小组名称和口号
2014/06/09 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
党员民主评议总结
2014/10/20 职场文书
教导主任个人总结
2015/03/03 职场文书
党员转正党支部意见
2015/06/02 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书