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基础教程之基本内置数据类型介绍
Feb 20 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
极简的Python入门指引
Apr 01 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
Python中防止sql注入的方法详解
Feb 25 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
python3实现单目标粒子群算法
Nov 14 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
python爬虫筛选工作实例讲解
Nov 23 Python
python re.match()用法相关示例
Jan 27 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 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框架功能对照表
2014/10/23 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
javascript验证身份证号
2015/03/03 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
解析js如何获取css样式
2016/12/11 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python实现随机漫步方法和原理
2019/06/10 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
导致python中import错误的原因是什么
2020/07/01 Python
python实现数字炸弹游戏
2020/07/17 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
优秀团支部事迹材料
2014/02/08 职场文书
主办会计岗位职责
2014/03/13 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS