我正在尝试从 python 代码对 Boxer 文本解析器程序进行系统调用,但我发现以下语句集不起作用。它没有给我任何错误,但我没有看到创建任何输出文件。当我在终端上运行相同的命令时,会创建输出文件。
from subprocess import call
candcStr = 'echo "Every Man Walks" | /home/candc-1.00/bin/candc --models /home/candc-1.00/models/boxer --output /tmp/test.ccg'
args = shlex.split(candcStr)
call(args)
当我运行上面的代码时,控制台显示
Every Man Walks | /home/candc-1.00/bin/candc --models /home/candc-1.00/models/boxer --output /tmp/test.ccg
似乎管道重定向不起作用。有谁知道我该如何解决这个问题?谢谢!