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

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

本文介绍使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。