Сложный вызов подпроцесса не удается: - PullRequest
0 голосов
/ 17 января 2019

Итак, эту команду я хочу выполнить через скрипт на 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', нет)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...