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 当前全局变量和入口参数的所有属性
Jul 01 Python
python中的reduce内建函数使用方法指南
Aug 31 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
Nov 18 Python
python中threading超线程用法实例分析
May 16 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
python顺序执行多个py文件的方法
Jun 29 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 Python
pytorch 如何使用batch训练lstm网络
May 28 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
PHP简单日历实现方法
2016/07/20 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
Python实现配置文件备份的方法
2015/07/30 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python 中的 else详解
2016/04/23 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python WindowsError的错误代码详解
2017/07/23 Python
python装饰器深入学习
2018/04/06 Python
一看就懂得Python的math模块
2018/10/21 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
在django中自定义字段Field详解
2019/12/03 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
python numpy库np.percentile用法说明
2020/06/08 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
个性大学生自我评价
2013/12/04 职场文书
节约电力资源的建议书
2014/03/12 职场文书
《大海那边》教学反思
2014/04/09 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
归途列车观后感
2015/06/17 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis