我在用
subprocess.call(['prog', 'arg'], shell=False)
执行 prog 并让我自己逃脱 arg。
现在有时 prog 需要来自 STDIN 的一些输入。在外壳中我可以使用
echo 'some input' | prog arg
使用管道。如何在不转义 arg 的情况下使用子进程执行此操作?这甚至可能吗?
或者是这样做的唯一方法
subprocess.call('echo "%s" | prog "%s"' % ('some input', 'arg'), shell=True)
这根本不安全。