我有一个terraform的Python包装器,terraform会以某种方式曲解它被传递的参数。有什么办法解决这个问题吗?在
#!/usr/bin/env python
import subprocess
args_echo = ["/bin/echo", "/home/vmindru/proj/tera/terraform",
"plan",
"-var foo=bar"]
args_terr = ["/home/vmindru/proj/tera/terraform",
"plan",
"-no-color",
"-var foo=bar"]
echo = subprocess.call(args_echo)
terr = subprocess.call(args_terr)
print echo, terr
注意:当运行简单的echo(或任何其他二进制文件)时,下面观察到的是正确解释所有参数,出于某种原因,terraform决定将arg-var foo=bar拆分为-var foo,可能还有bar
^{pr2}$
记下这一点,以便日后查找,尽管@nightuser在问题评论中的回答可获得全额积分。
Python
subprocess.call()
函数要求参数中不存在空格,任何空格都应该是列表中独立的元素。在在这种情况下:
变成:
^{pr2}$相关问题 更多 >
编程相关推荐