python显示服务器目录文件大小,python 生成目录树及显示文件大小的代码

python 生成目录树及显示文件大小的代码

发布于 2014-09-17 23:34:42 | 136 次阅读 | 评论: 0 | 来源: 网友投递

Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

本文是一个用python实现的python 生成目录树及显示文件大小的代码,感兴趣的同学参考下.

没啥技术含量,大家都说没用,只不过算法还有点意思。自己憋出来的,不知道是不是跟别人的一样。做递归得到子文件夹以及文件并不难,但是能够打印出树形,层次关系展示出来,有些难度。

比如

1--1

2--1

2

3--1

2

3

3--1

2

3

交错的层级关系,刚开始感觉很乱没有想明白,后来终于抓住了关键。只要算出每个层次的深度,就好办了。

我定义了一个rank,进入一个子文件夹时,让rank+1,遍历完子文件夹rank就-1。

如图充分说明了递归、遍历的顺序以及rank值变化:(丑了点。。。)

1410969193_6036.jpg

下面放代码:

'''

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生成的好。。。。。。。

1410969194_2684.jpg

相关阅读:

python 生成目录树及显示文件大小的代码

Python中使用glob和rmtree删除目录子目录及所有文件的示例代码

Python获取远程文件大小的函数代码

python输出当前目录下index.html文件路径的方法

Python实现给文件添加内容及得到文件信息的方法

Python中import导入上一级目录模块及循环import问题的解决

python批量去除utf8文件BOM的代码

python实现下载FTP上的文件夹的代码

python使用cStringIO实现临时内存文件访问的方法

Python实现模拟登录及表单提交的方法

使用Python下载歌词并嵌入歌曲文件中的实现代码

Python 安装Mysql模块及安装中错误的解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值