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

 更新时间:2016年12月21日 10:28:18   作者:Qian_F  
本篇文章主要介绍了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目录的文件结构部分截图:

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

相关文章

  • Win10下python3.5和python2.7环境变量配置教程

    Win10下python3.5和python2.7环境变量配置教程

    这篇文章主要为大家详细介绍了Win10下python3.5和python2.7环境变量配置教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Pandas加速代码之避免使用for循环

    Pandas加速代码之避免使用for循环

    如果你使用Python和Pandas进行数据分析,循环是不可避免要使用的。这篇文章主要给大家介绍了关于Pandas加速代码之避免使用for循环的相关资料,需要的朋友可以参考下
    2021-05-05
  • 基于Python和C++实现删除链表的节点

    基于Python和C++实现删除链表的节点

    这篇文章主要介绍了基于Python和C++实现删除链表的节点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • next在python中返回迭代器的实例方法

    next在python中返回迭代器的实例方法

    在本篇文章里小编给大家整理的是一篇关于next在python中返回迭代器的实例方法,有兴趣的朋友们可以尝试下。
    2020-12-12
  • Python学习之.iloc与.loc的区别、联系和用法

    Python学习之.iloc与.loc的区别、联系和用法

    loc和iloc都是pandas工具中定位某一行的函数,下面这篇文章主要给大家介绍了关于Python学习之.iloc与.loc的区别、联系和用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 解决Python的str强转int时遇到的问题

    解决Python的str强转int时遇到的问题

    下面小编就为大家分享一篇解决Python的str强转int时遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python中assert函数的使用(含源代码)

    Python中assert函数的使用(含源代码)

    本文主要介绍了Python中assert函数的使用(含源代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python深度学习之图像标签标注软件labelme详解

    Python深度学习之图像标签标注软件labelme详解

    这篇文章主要介绍了Python深度学习之图像标签标注软件labelme详解,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • python多项式拟合之np.polyfit 和 np.polyld详解

    python多项式拟合之np.polyfit 和 np.polyld详解

    这篇文章主要介绍了python多项式拟合之np.polyfit 和 np.polyld的实例代码,python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等,需要的朋友跟随小编一起学习吧
    2020-02-02
  • python监控网卡流量并使用graphite绘图的示例

    python监控网卡流量并使用graphite绘图的示例

    这篇文章主要介绍了python监控网卡流量并使用graphite绘图的示例,需要的朋友可以参考下
    2014-04-04

最新评论