Итак, эту команду я хочу выполнить через скрипт на python:
echo -e 'setns x=http://maven.apache.org/POM/4.0.0\ncat /x:project/x:groupId/text()' | xmllint --shell pom.xml | grep -v /
возвращает идентификатор группы из файла pom.xml,
Я хочу написать небольшой CLI, чтобы помочь мне с ежедневными задачами:
Но как я могу параметризовать (? Правильное слово: D?) Эту команду, которая будет принята
подпроцессом?
def test():
process = subprocess.Popen("echo -e 'setns x=http://maven.apache.org/POM/4.0.0\ncat /x:project/x:groupId/text()' | xmllint --shell pom.xml | grep -v /", shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
out = process.communicate()
print out
это ошибка, которую я получаю
('Неизвестная команда -e \ nXPath error: неопределенный префикс пространства имен \ nxmlXPathEval: ошибка оценки \ n / x: project / x: groupId / text (): такого узла нет \ n', нет)