Python 遍历子文件和所有子文件夹的代码实例
作者:Qian_F 发布时间:2021-02-09 17:21:34
标签: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目录的文件结构部分截图:
来源:http://blog.csdn.net/qian_f/article/details/9896283


猜你喜欢
- 项目应用中,曾有以下一个场景:接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小)。所以想
- virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Pyth
- 我就废话不多说了,还是直接看代码吧!import numpyworld_alchol=numpy.genfromtxt("worl
- 下拉框包含option中的Value和用来显示的选项, 一般后台都是使用的Value值,而不是显示在前台的选项第一步: 编写下拉框需要的枚举
- mysql-5.7.17的安装在文章下面有介绍,大家可以参考下。下面先给大家介绍下Mysql 5.7.17安装后登录mysql的教程,一起看
- 对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CRE
- 本文实例为大家分享SQL SERVER数据库备份的具体代码,供大家参考,具体内容如下/** 批量循环备份用户数据库,做为数据库迁
- 我们在切换选项卡的时候,如果使用的是ajax技术,会碰到如下情况:点击tab1选项,服务器发出一个Ajax请求获取该选项tab1的内容数据。
- 那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd 23:59:59.997。 我们可以使用DATEADD函数,来实现
- 1、类的定义创建一个rectangle.py文件,并在该文件中定义一个Rectangle类。在该类中,__init__表示构造方法。其中,s
- 思路利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把将读取出来的pcap包改一个名字,然后写回,
- 插入数据insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);insert into user(user
- Vue-Access-Control是一套基于Vue/Vue-Router/axios 实现的前端用户权限控制解决方案,通过对路由、视图、请
- 需求描述数据库中 num字段值为:实现的效果:需要将一行数据变成多行实现的sqlSELECT SUBSTRING_INDEX(SUBSTRI
- 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们
- 一、前期准备 此篇使用两种导入excel数据的
- 本文为大家分享了Python2.7与Python3.6环境切换的具体方法,供大家参考,具体内容如下系统支持为:Ubuntu18.04系统默认
- Python生产者消费者模型一、消费模式生产者消费者模式 是Controlnet网络 * 有的一种传输数据的模式。用于两个CPU之间传输数据,
- 反馈说在选择时间时会出现遮挡选择器的情况,阻碍操作 如下图1,需要修改xadmin 文件 ,在widgets.py --->第28行添
- 忙活了三个多小时,连学带做,总算是搞出来了一个具有基本功能的串口通信PC机的GUI界面,Tkinter在python中确实很好用,而且代码量