使用python生成目录树

这是一个使用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

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

您可能感兴趣的文章:

  • Python3遍历目录树实现方法
  • python实现目录树生成示例
  • python 生成目录树及显示文件大小的代码
(0)

相关推荐

  • python实现目录树生成示例

    复制代码 代码如下: #!/usr/bin/env python# -*- coding: utf-8 -*-import osimport optparse LOCATION_NONE     = 'NONE'LOCATION_MID      = 'MID'LOCATION_MID_GAP  = 'MID_GAP'LOCATION_TAIL     = 'TAIL'LOCATION_TAIL_GAP = 'TAIL_GAP' Notations = {    LOCATION_NONE: '

  • Python3遍历目录树实现方法

    本文实例讲述了Python3遍历目录树的方法.分享给大家供大家参考.具体实现方法如下: import os, fnmatch # 检查一个目录,后者某个包含子目录的目录树,并根据某种模式迭代所有文件 # patterns如:*.html,若大小写敏感可写*.[Hh][Tt][Mm][Ll] # single_level 为True表示只检查第一层 # yield_folders 表示是否显示子目录,为False只遍历子目录中的文件, # 但不返回字母名 def all_files(root, p

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

    比如 1--1 2--1 2 3--1 2 3 3--1 2 3 交错的层级关系,刚开始感觉很乱没有想明白,后来终于抓住了关键.只要算出每个层次的深度,就好办了. 我定义了一个rank,进入一个子文件夹时,让rank+1,遍历完子文件夹rank就-1. 如图充分说明了递归.遍历的顺序以及rank值变化:(丑了点...) 下面放代码: 复制代码 代码如下: ''' Created on Jul 22, 2009 @author: dirful ''' import os class dir(obj

  • 使用python生成目录树

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

  • 使用 Python 遍历目录树的方法

    假设有这样一个任务,希望对某个文件夹(包括所有子文件夹与文件)中的所有文件进行处理.这就需要遍历整理目录树, 处理遇到的每个文件. import os ''' 遍历目录树 ''' for folder_name,sub_folders,filenames in os.walk('F:\\dicts'): print('当前文件夹:'+folder_name) for sub_folder in sub_folders: print('所包含的子文件夹:'+sub_folder) for file

  • 在Mac下使用python实现简单的目录树展示方法

    在Linux或者Windows下想要查看目录树都可以通过tree命令来实现,两个操作系统中的操作也很相似.使用Linux时,最初以为这是shell中都有这个命令可用.结果使用Mac的时候发现并没有这个命令. 为了实现类似的功能,使用python做了一个简单的小脚本.实现不了漂亮的目录树,但是可以实现文件以及所在目录的列表打印. 编写代码如下: #!/usr/bin/python import os pwd = os.getcwd() for root,dirs,files in os.walk(

  • Python生成pdf目录书签的实例方法

    有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦.本篇文章就为大家带来python来生成pdf目录书签的方法. 首先,我们需要下载一个软件FreePic2Pdf,利用它我们可以将我们的pdf文件导入书签 工具下载:https://www.jb51.net/softs/57870.html 然后,我们需要获取原始版本的目录,这个可以到京东上找到书籍,查看目录,把其中的目录复制到一个txt文件中即可,或者有些pdf允许复制,也可以直接把目录复制下来. 复制之后假设存到aa.t

  • 使用Python生成XML的方法实例

    本文实例讲述了使用Python生成XML的方法.分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM树的形式从空白文件生成一个XML. ''' from xml.dom.minidom import Document doc = Document() #创建DOM文档对象 bookstore = doc.createElement('bookstore') #创建根元素 bookstore.set

  • Python利用字典树实现猎词游戏

    目录 解决策略 什么是 Trie? 创建 Trie 字典树 单词测试 总结 猎词(word hunt)是一类很常见的游戏,给你一张字母组成的表,然后让你在这些字母中尽可能多的去寻找单词.这类游戏有不同的变体,一类是你可以多次重复使用这些字母(这类游戏叫做猎词),或者你只能使用一次每个字母(这类游戏叫做字母重组).你组出来的单词越长就得分越高,使用了所有字母就可以获得最高分. 这类游戏对计算机而言是很「容易」去完成的,而且要强调一个相当有用的数据结构叫做 “Trie”. 解决策略 让我们先拿出一个

  • 如何一键理清大型Python项目依赖树

    目录 1.安装 2.用法和示例 3. 可视化依赖树 ​前言: 你可能时常会遇到由于包的版本不匹配导致代码报错的问题,由于 pip freeze 将所有依赖项显示为二维列表,这时候如果想找到这个错误版本的包是比较麻烦的事情.这时候,有个工具你必须得知道,它就是 pipdeptree. pipdeptree 是一个命令行实用程序,它能用于以依赖关系树可视化的形式显示已安装的python包. 它适用于全局安装在计算机上的各个模块,也适用于Virtualenv等虚拟环境中的模块. 1.安装 你只需要在你

  • Python生成随机数组的方法小结

    本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Python生成随机数组的方法稍作总结,以备以后查看使用. 一.使用random模块生成随机数组 python的random模块中有一些生成随机数字的方法,例如random.randint, random.random, random.uniform, random.randrange,这些函数大同小异,均是在返回指定范围内的一个整数或浮点

随机推荐