Python递归遍历目录生成XML文件结构示例

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍使用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目录的部分文件结构截图:

以上就是本文的全部内容,希望对读者有所帮助。欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表