Python递归遍历目录生成XML文件结构示例
本文介绍使用Python脚本递归遍历指定目录下的所有文件和子文件夹,并将结果保存为XML格式文件的方法。通过示例代码展示如何生成文件树结构,便于使用Notepad++等工具进行查看和折叠操作,适用于需要快速了解项目文件结构的场景。
最近在研究ECShop时,发现网上关于其文件结构的说明不够全面,因此决定自行整理一份。考虑到手动整理既耗时又枯燥,便编写了一个Python脚本来自动完成。该脚本能够递归遍历指定目录下的所有文件和子目录,并将结果记录到一个.xml文件中。选择.xml格式是因为希望利用Notepad++的代码折叠功能,从而更直观地查看文件结构。
以下是实现该功能的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目录的部分文件结构截图:

以上就是本文的全部内容,希望对读者有所帮助。欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













