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 isinstance判断对象类型
Sep 06 Python
Django实现图片文字同时提交的方法
May 26 Python
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
基于Pytorch SSD模型分析
Feb 18 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
python 读取.nii格式图像实例
Jul 01 Python
Selenium 配置启动项参数的方法
Dec 04 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入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
Python模拟登录12306的方法
2014/12/30 Python
简单介绍Python中的floor()方法
2015/05/15 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
Tensorflow 多线程设置方式
2020/02/06 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
python集合的新增元素方法整理
2020/12/07 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
新文化运动的口号
2014/06/21 职场文书
端午节活动总结报告
2015/02/11 职场文书
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android