使用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实现的HTTP并发测试完整示例
Apr 23 Python
Python过滤列表用法实例分析
Apr 29 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
python中字符串类型json操作的注意事项
May 02 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
python 利用toapi库自动生成api
Oct 19 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
用Python创建简易网站图文教程
Jun 11 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
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
各个系统下的Python解释器相关安装方法
2015/10/12 Python
利用python实现数据分析
2017/01/11 Python
理论讲解python多进程并发编程
2018/02/09 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
Python对象转换为json的方法步骤
2019/04/25 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
销售自我评价
2013/10/22 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
工地材料员岗位职责
2015/04/11 职场文书
党支部评议意见
2015/06/02 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
Python面向对象之内置函数相关知识总结
2021/06/24 Python
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python