使用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 条件判断的缩写方法
Sep 06 Python
python 链接和操作 memcache方法
Mar 04 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
Python中的取模运算方法
Nov 10 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
Python简易计算器制作方法代码详解
Oct 31 Python
VSCode配合pipenv搞定虚拟环境的实现方法
May 17 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 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
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
jQuery的12招常用技巧分享
2011/08/08 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
python用户管理系统
2018/03/13 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
python opencv摄像头的简单应用
2019/06/06 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
python删除某个目录文件夹的方法
2020/05/26 Python
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
财务会计专业毕业生自荐信
2013/10/19 职场文书
教师旷工检讨书
2014/01/18 职场文书
微观物理专业自荐信
2014/01/26 职场文书
区三好学生主要事迹
2014/01/30 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
烹饪自我鉴定
2014/03/01 职场文书
工作推荐信模板
2015/03/25 职场文书
四风之害观后感
2015/06/09 职场文书