Всем привет.
Есть следующая структура папок:
Мне нужно что бы парсер разбирал все файлы defaultVars и выводил результат в виде:
- Путь к файлу
- Результат парсинга
При помощи xml.dom.minidom написал следующее:
import xml.dom.minidom
doc = xml.dom.minidom.parse("c:/users/admin/defaultVars/defaultVars.xml")
data ={}
for info in doc.getElementsByTagName("globalVariable"):
name = str(info.getElementsByTagName("name")[0].firstChild.data)
value = str(info.getElementsByTagName("value")[0].firstChild.data)
data[name]=value
print(data)
Результат таков:
Вопрос - каким образом реализовать поиск и последующий парсинг файла с именем defaultVars в том числе и во всех вложенных директориях?
И каким образом реализовать вывод в консоль в формате: директория - результат парсинга?
UPD 17:25
Получается вот так:
import os
import xml.dom.minidom
files = []
for rootdir, dirs, files in os.walk("C:/Users/fedyunin_es/Desktop/defaultVars"):
for file in files:
if file.split(".")[-1] == "defaultVars":
files.append(os.path.join(rootdir, file))
doc = xml.dom.minidom.parse(file)
data ={}
for info in doc.getElementsByTagName("globalVariable"):
name = str(info.getElementsByTagName("name")[0].firstChild.data)
value = str(info.getElementsByTagName("value")[0].firstChild.data)
data[name]=value
print(data)
Выпадает в ошибку:
Думается, что проблема в
doc = xml.dom.minidom.parse(file), но как поправить?