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使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
Python 装饰器使用详解
Jul 29 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
Django项目后台不挂断运行的方法
Aug 31 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
Python分类测试代码实例汇总
Jul 23 Python
python如何修改文件时间属性
Feb 05 Python
Python读取文件夹下的所有文件实例代码
Apr 02 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语法(2)
2006/10/09 PHP
实用函数2
2007/11/08 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
php对象工厂类完整示例
2018/08/09 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
简单实现python爬虫功能
2015/12/31 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
python statsmodel的使用
2020/12/21 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
通知的写法
2015/04/23 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL
Promise静态四兄弟实现示例详解
2022/07/07 Javascript