Python 遍历子文件和所有子文件夹的代码实例

最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来。但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目录,并将结果记录到一个.xml文件中(因为想使用Notepad++的代码折叠功能,所以使用.xml文件)。

下面就是Python代码:

# -*- coding: cp936 -*- 

#############################################
#  Written By Qian_F            #
#  获取文件路径列表,并写入到当前目录生成test.txt #
############################################# 

import os 

def getfilelist(filepath, tabnum=1):
  simplepath = os.path.split(filepath)[1]
  returnstr = simplepath+"目录<>"+"\n"
  returndirstr = ""
  returnfilestr = ""
  filelist = os.listdir(filepath)
  for num in range(len(filelist)):
    filename=filelist[num]
    if os.path.isdir(filepath+"/"+filename):
      returndirstr += "\t"*tabnum+getfilelist(filepath+"/"+filename, tabnum+1)
    else:
      returnfilestr += "\t"*tabnum+filename+"\n"
  returnstr += returnfilestr+returndirstr
  return returnstr+"\t"*tabnum+"</>\n" 

path = raw_input("请输入文件路径:")
usefulpath = path.replace('\\', '/')
if usefulpath.endswith("/"):
  usefulpath = usefulpath[:-1]
if not os.path.exists(usefulpath):
  print "路径错误!"
elif not os.path.isdir(usefulpath):
  print "输入的不是目录!"
else:
  filelist = os.listdir(usefulpath)
  o=open("test.xml","w+")
  o.writelines(getfilelist(usefulpath))
  o.close()
  print "成功!请查看test.xml文件" 

执行该Python脚本后会在当前目录生成test.xml文件,使用Notepad++打开(以ANSI编码方式)就可以看到指定目录的文件结构了。下面是我生成的ECShop下upload目录的文件结构部分截图:

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

(0)

相关推荐

  • Python 遍历列表里面序号和值的方法(三种)

    三种遍历列表里面序号和值的方法: 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__main__': list = ['html', 'js', 'css', 'python'] # 方法1 print '遍历列表方法1:' for i in list: print ("序号:%s 值:%s&

  • python 遍历字符串(含汉字)实例详解

    python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是什么编码?可能不是你所想的gbk >>> a='中国' >>> a 这样试试看,如果出来是6个字(word),说明是utf-8,如果是4个字,说明gbk. 另外,不管是utf-8还是gbk,都不能这样遍历,因为这里它会一个字一个字拿出来.虚拟机把a当成一个长度为len(a)的字符串了. 接下来是遍历问题. Linux

  • Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法.分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d.pop(key) 会报这个错误:RuntimeError: dictionary changed size during iteration 这种方式Python2可行,Python3还是报上面这个错误. d = {'a':1, 'b':2, 'c':3} for key in d.keys():

  • python 循环遍历字典元素的简单方法

    一个简单的for语句就能循环字典的所有键,就像处理序列一样: In [1]: d = {'x':1, 'y':2, 'z':3} In [2]: for key in d: ...: print key, 'corresponds to', d[key] ...: y corresponds to 2 x corresponds to 1 z corresponds to 3 在python2.2之前,还只能用beys等字典方法来获取键(因为不允许直接迭代字典).如果只需要值,可以使用d.val

  • Python多维/嵌套字典数据无限遍历的实现

    最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料-毕竟是新手,到自己动手时发现并非想象中简单,颇有两次曲折才最终实现效果,将过程记录下来希望对大家有用. 实例数据(多重嵌套): person = {"male":{"name":"Shawn"}, "female":{"name":"Betty","age":23

  • Python遍历目录中的所有文件的方法

    os.walk生成器 os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是当前文件夹下内容. 返回的三元元组代表(该工作文件夹, 该文件夹下的文件夹的列表, 该文件夹下文件的列表). 所以, 获得所有子文件夹, 就是(d代表这三元元组): os.path.join(d[0],d[1]); 获得所有子文件, 就是: os.path.join(d[0],d[2]); 以下例子使用了两套循环

  • Python实现遍历目录的方法【测试可用】

    本文实例讲述了Python实现遍历目录的方法.分享给大家供大家参考,具体如下: # *-* coding=gb2312 *-* import os.path import shutil def traveltree(curPath,count): if not os.path.exists(curPath): return if os.path.isfile(curPath): fileName =os.path.basename(curPath) print '\t' *count+ '├─'

  • 遍历python字典几种方法总结(推荐)

    如下所示: aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'} print '-----------dict-------------' for d in aDict: print "%s:%s" %(d, aDict[d]) print '-----------item-------------' for (k,v) in aDict.items(): print '%s:%s' %(k, v) #效率最高 prin

  • Python 遍历子文件和所有子文件夹的代码实例

    最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来.但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目录,并将结果记录到一个.xml文件中(因为想使用Notepad++的代码折叠功能,所以使用.xml文件). 下面就是Python代码: # -*- coding: cp936 -*- ############################################# # Written By Qian_F

  • Python遍历某目录下的所有文件夹与文件路径

    本文与<[Java]读取其下所有文件夹与文件的路径>(点击打开链接)为姊妹篇,主要讲述Python对于文件信息的读取操作. Python对于文件信息的读取操作,在其固有类os中. 下面以读取F盘下的所有文件夹作为例子说明这个问题: Python对于文件夹的遍历有两种写法,一种是直接利用其封装好的walk方法直接操作. 这是Python做得比Java优势的地方: # -*-coding:utf-8-*- import os for root,dirs,files in os.walk("

  • python遍历文件目录、批量处理同类文件

    本文实例为大家分享了python遍历文件目录.批量处理同类文件的具体代码,供大家参考,具体内容如下 目录操作 1.获取当前目录 import os curr_path=os.path.dirname(__file__) #返回当前文件所在的目录,即当前运行的脚本所在父目录 print curr_path 运行示例 (1)使用os.path.dirname(__file__)时,是针对运行时对所给程序脚本的路径来获取父目录的,即截取你输入的脚本路径的所在目录名称,如上图示例,输入绝对路径时返回绝对

  • asp.net遍历文件夹下所有子文件夹并绑定到gridview上的方法

    遍历文件夹下所有子文件夹,并且遍历配置文件某一节点中所有key,value并且绑定到GridView上 Helper app_Helper = new Helper(); DataSet ds = new DataSet(); DataTable dt = new DataTable(); protected void Page_Load(object sender, EventArgs e) { gvwBind(); } #region 绑定GridView /// <summary> //

  • python 遍历目录(包括子目录)下所有文件的实例

    如下所示: def list_all_files(rootdir): import os _files = [] list = os.listdir(rootdir) #列出文件夹下所有的目录与文件 for i in range(0,len(list)): path = os.path.join(rootdir,list[i]) if os.path.isdir(path): _files.extend(list_all_files(path)) if os.path.isfile(path):

  • Asp.net FileUpload上传文件夹并检测所有子文件的实现代码

    Asp.net FileUpload上传文件夹并检测所有子文件的实现代码,非常简单,具体内容如下所示: 1.在FileUpload控件添加一个属性 webkitdirectory=""就可以上传文件夹了 <asp:FileUpload ID="FileUpload1" runat="server" webkitdirectory="" /> 2.检测文件夹下所有子文件 string DirectoryName =

  • Python利用pandas计算多个CSV文件数据值的实例

    功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys input_path='./' output_fiel='pandas_union_concat.csv' all_files=glob.glob(os.path.join(input_path,'sales_*')) all_data_frames=[] for file in all_files:

  • Python实现比较两个文件夹中代码变化的方法

    本文实例讲述了Python实现比较两个文件夹中代码变化的方法.分享给大家供大家参考.具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower(); folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\&q

  • 在python下使用tensorflow判断是否存在文件夹的实例

    判读是否存在文件夹 import tensorflow as tf import os folder = './floder' if not tf.gfile.Exists(folder): #若文件夹不存在,则自动创建文件夹 tf.gfile.MakeDirs(folder) 若存在删除文件夹下所有文件 if tf.gfile.Exists(folder): #返回一个list for file in (tf.gfile.ListDirectory(folder)): #添加绝对路径,并删除文

  • python 判断文件还是文件夹的简单实例

    如下所示: import os if os.path.isdir(path): print "it's a directory" elif os.path.isfile(path): print "it's a normal file" else: print "it's a special file(socket,FIFO,device file)" 以上这篇python 判断文件还是文件夹的简单实例就是小编分享给大家的全部内容了,希望能给大家

随机推荐