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 相关文章推荐
Python3基础之条件与循环控制实例解析
Aug 13 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
Django框架之DRF 基于mixins来封装的视图详解
Jul 23 Python
简单了解django orm中介模型
Jul 30 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
python db类用法说明
Jul 07 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
python中判断数字是否为质数的实例讲解
Dec 06 Python
pandas中DataFrame重置索引的几种方法
May 24 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
jquery 笔记 事件
2011/11/02 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
详解Python中for循环的使用方法
2015/05/14 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
软件测试笔试题
2012/10/25 面试题
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
2014年创卫实施方案
2014/02/18 职场文书
搞笑创意广告语
2014/03/17 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
2015年党总支工作总结
2015/05/25 职场文书
公司食堂管理制度
2015/08/05 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
python四种出行路线规划的实现
2021/06/23 Python