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


Posted in Python onDecember 21, 2016

最近看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目录的文件结构部分截图:

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

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

Python 相关文章推荐
归纳整理Python中的控制流语句的知识点
Apr 14 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python plotly绘制直方图实例详解
Jul 22 Python
python实现图片上添加图片
Nov 26 Python
Python安装whl文件过程图解
Feb 18 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
浅析Python 责任链设计模式
Sep 11 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
最新Python idle下载、安装与使用教程图文详解
Nov 28 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 Python
python基础之函数的定义和调用
Oct 24 Python
详解python中的json的基本使用方法
Dec 21 #Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 #Python
python查看微信好友是否删除自己
Dec 19 #Python
python用reduce和map把字符串转为数字的方法
Dec 19 #Python
python虚拟环境virualenv的安装与使用
Dec 18 #Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
Dec 18 #Python
python 调用HBase的简单实例
Dec 18 #Python
You might like
PHP 危险函数解释 分析
2009/04/22 PHP
yii数据库的查询方法
2015/12/28 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
javascript new后的constructor属性
2010/08/05 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
Seajs的学习笔记
2014/03/04 Javascript
javascript 动态创建表格
2015/01/08 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
基层党支部公开承诺书
2014/05/29 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
单位租房协议范本
2014/12/03 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
python脚本框架webpy模板控制结构
2021/11/20 Python