我试图从一个子进程运行parsey mcparseface。我在运行Popen vs call时得到了不同的结果,我想知道为什么会这样。 这很管用。在
process = subprocess.Popen("./syntaxnet/demo.sh", cwd="/home/kahless/models/syntaxnet")
这不是。在
^{pr2}$这两种方法都在执行时不会抛出任何错误,但在运行时.call parsey没有正确完成。在使用.wait()或.communicate()与Popen时也会发生这种情况。我要做的是暂停代码的执行,直到parsey完成。不知道这是怎么回事。在
编辑。当我说parsey没有正确完成时,我的意思是我从运行演示.sh文件。以下是不同的输出。在
当一切正常时
在信息:tensorflow:已处理10个文档 信息:tensorflow:处理的文档总数:10 信息:tensorflow:num正确标记:0 信息:tensorflow:令牌总数:170 信息:tensorflow:评估所用的秒数:0.18,评估指标:0.00% 信息:tensorflow:已处理10个文档 信息:tensorflow:处理的文档总数:10 信息:tensorflow:num正确标记:10 信息:tensorflow:令牌总数:153 信息:tensorflow:评估所用的秒数:0.86,评估指标:6.54%
当他们没有的时候。在
在信息:tensorflow:已处理的文档总数:0 信息:tensorflow:已处理的文档总数:0
你确定它会结束吗?在
看起来你的代码挂起了。也许需要用户输入?在
subprocess.call()
等待直到它完成,这样wait()
和{相关问题 更多 >
编程相关推荐