使用python生成目录树


Posted in Python onMarch 29, 2018

这是一个使用Python生成文件、目录树的程序,其中遇到一个问题是:如何确定某个目录下的某一文件是最后一个遍历的文件。因为最后一个遍历的文件前应添加"└─",非最后一个文件前添加"├─"。看了Python的API文档没有找到相关的系统函数。现在做法是:先统计出某个目录下的文件个数,在遍历目录时,当个数相等时,就可以确定该目录遍历结束。

# encoding: utf-8  
  
import os   
class dir(object):   
  def __init__(self):   
    self.SPACE = ""   
    self.list = []  
    
  def getCount(self, url):  
    files = os.listdir(url)  
    count = 0;  
    for file in files:  
      myfile = url + "//" + file  
      if os.path.isfile(myfile):  
        count = count + 1  
    return count  
  def getDirList(self, url):   
    files = os.listdir(url)   
    fileNum = self.getCount(url)  
    tmpNum = 0  
    for file in files:   
      myfile = url + "//" + file   
      size = os.path.getsize(myfile)   
      if os.path.isfile(myfile):   
        tmpNum = tmpNum +1  
        if (tmpNum != fileNum):  
          self.list.append(str(self.SPACE) + "├─" + file + "/n")  
        else:  
          self.list.append(str(self.SPACE) + "└─" + file + "/n")  
      if os.path.isdir(myfile):   
        self.list.append(str(self.SPACE) + "├─" + file + "/n")   
        # change into sub directory  
        self.SPACE = self.SPACE + "│ "   
        self.getDirList(myfile)   
        # if iterator of sub directory is finished, reduce "│ "   
        self.SPACE = self.SPACE[:-4]   
    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.getDirList("c:/windows") # input directory  
  d.writeList("c:/1.txt") # write to file

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
python爬取m3u8连接的视频
Feb 28 Python
深入浅析python with语句简介
Apr 11 Python
Python 从相对路径下import的方法
Dec 04 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
python实现树形打印目录结构
Mar 29 #Python
Python基础教程之利用期物处理并发
Mar 29 #Python
Windows下安装Django框架的方法简明教程
Mar 28 #Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 #Python
Python实现发送与接收邮件的方法详解
Mar 28 #Python
Python实现线程状态监测简单示例
Mar 28 #Python
python实现朴素贝叶斯分类器
Mar 28 #Python
You might like
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
JS 遮照层实现代码
2010/03/31 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
Python中函数的用法实例教程
2014/09/08 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python实现浪漫的烟花秀
2019/01/30 Python
python lxml中etree的简单应用
2019/05/10 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
个人简历自我鉴定
2013/10/11 职场文书
事业单位请假制度
2014/01/13 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
仓库管理制度范本
2015/08/04 职场文书
清明扫墓感想
2015/08/11 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
基于Python实现射击小游戏的制作
2022/04/06 Python