Задать вопрос
@evgeh4ik

Как анализировать количество директорий в пути к файлу и выводить каждую на новой строке?

Привет!

Есть такой код:
#!/usr/bin/env python36

import os
import xml.dom.minidom
import argparse
import re
import json

parser = argparse.ArgumentParser()
parser.add_argument('-i', '--host' , help='Input hostname')
parser.add_argument('-z', '--zone' , help='Input zone name')
args = parser.parse_args()

spisok =[]
for rootDir in os.listdir(r'/mnt/'+args.host+'/'+args.zone):
    for root, dirs, files in os.walk(r'/mnt/'+args.host+'/'+args.zone+'/' + rootDir +'/defaultVars/Vars/Connections'):
        for file in files:
            if file.endswith(".substvar"):
                path = os.path.join(root, file)
                spisok.append(path)

for element in spisok:

	doc = xml.dom.minidom.parse(element)
	data ={}

	for info in doc.getElementsByTagName("globalVariable"):
		name_tag = info.getElementsByTagName("name")
		if len(name_tag) and name_tag[0].firstChild is not None:
			name = str(name_tag[0].firstChild.data)
			value_tag = info.getElementsByTagName("value")
			if len(value_tag) and value_tag[0].firstChild is not None:
				data[name] = str(value_tag[0].firstChild.data)
	print(element.split('/Connections/')[1], (json.dumps(data,indent = 4)))


Вот его результат выполнения:
5d19bfb1c5edf850523167.jpeg

Каким образом реализовать печать пути к файлу (каждой из директорий, выделенных красным) на новой строчке? И при этом исключить печать "defaultVars.substvar"?
Т.е. в формате (пример по первой строчке вывода):

{ EMS
 { DATA
   { Login }
   { Password }
   { URL }
  }
}


При этом, не везде 2 директории. Где-то 3, где-то 1.
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
посмотрите этот пример. думаю то что Вам нужно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы