这是我要通过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文件中返回groupId
我想编写一个小的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错误:未定义的名称空间前缀\ nxmlXPathEval:评估失败\ n / x:project / x:groupId / text():没有这样的节点\ n',无)