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写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
python中hashlib模块用法示例
Oct 30 Python
Python中的pack和unpack的使用
Mar 12 Python
python和shell获取文本内容的方法
Jun 05 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
jupyter notebook的安装与使用详解
May 18 Python
Python测试框架:pytest学习笔记
Oct 20 Python
Django xadmin安装及使用详解
Oct 26 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日期时间函数的高级应用技巧
2009/05/16 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
python3.4爬虫demo
2019/01/22 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
员工合理化建议书
2014/05/19 职场文书
个人安全生产责任书
2014/07/28 职场文书
满月酒邀请函
2015/01/30 职场文书
先进个人自荐书
2015/03/06 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python
MYSQL 运算符总结
2021/11/11 MySQL
MySQL窗口函数的具体使用
2021/11/17 MySQL