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中的异常处理学习笔记
Jan 28 Python
Python 冒泡,选择,插入排序使用实例
Feb 05 Python
Python中List.count()方法的使用教程
May 20 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
Python配置mysql的教程(推荐)
Oct 13 Python
面向对象学习之pygame坦克大战
Sep 11 Python
Python实现代码统计工具
Sep 19 Python
Python求正态分布曲线下面积实例
Nov 20 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
详细总结Python常见的安全问题
May 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
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python复制与引用用法分析
2015/04/08 Python
Python卸载模块的方法汇总
2016/06/07 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
解决Django no such table: django_session的问题
2020/04/07 Python
用python制作个视频下载器
2021/02/01 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
五年级英语教学反思
2014/01/31 职场文书
2014年师德承诺书
2014/05/23 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
公司委托书格式
2014/08/01 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
vue实现列表垂直无缝滚动
2022/04/08 Vue.js