python文件夹下所有子文件夹写xml文件
时间: 2023-08-29 13:05:27 浏览: 39
下面是一个Python代码示例,用于遍历指定目录下的所有子目录,并将每个子目录中的文件名写入一个XML文件中:
```python
import os
import xml.etree.ElementTree as ET
# 遍历指定目录下的所有子目录,并返回所有文件的路径列表
def get_file_list(dir_path):
file_list = []
for root, dirs, files in os.walk(dir_path):
for file in files:
file_list.append(os.path.join(root, file))
return file_list
# 将文件名写入XML文件
def write_xml(file_list):
root = ET.Element("files")
for file in file_list:
file_elem = ET.SubElement(root, "file")
file_elem.text = file
tree = ET.ElementTree(root)
tree.write("files.xml", encoding="utf-8", xml_declaration=True)
# 测试代码
if __name__ == "__main__":
dir_path = "/path/to/your/directory"
file_list = get_file_list(dir_path)
write_xml(file_list)
```
在上面的示例中,`get_file_list()`函数使用`os.walk()`方法遍历指定目录下的所有子目录,并返回所有文件的路径列表。
`write_xml()`函数则将文件名写入XML文件。它首先创建一个名为“files”的根元素,然后遍历文件列表,为每个文件创建一个名为“file”的子元素,并将文件名作为子元素的文本内容。最后,它使用`ElementTree`模块将XML树写入文件。
你只需要将`dir_path`变量设置为你要遍历的目录的路径即可。