首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >subprocess.Popen执行.sh的方式与subprocess.call不同

subprocess.Popen执行.sh的方式与subprocess.call不同
EN

Stack Overflow用户
提问于 2016-09-12 02:35:54
回答 1查看 178关注 0票数 0

我正在尝试从子进程运行parsey mcparseface。当运行Popen vs call时,我得到了不同的结果,我想知道为什么会这样。这是可行的。

代码语言:javascript
运行
复制
process = subprocess.Popen("./syntaxnet/demo.sh", cwd="/home/kahless/models/syntaxnet")

这不是问题。

代码语言:javascript
运行
复制
process = subprocess.call("./syntaxnet/demo.sh", cwd="/home/kahless/models/syntaxnet")

两者执行时都不会抛出任何错误,但是在运行.call时,parsey不能正确完成。将.wait()或.communicate()与Popen一起使用时也会发生这种情况。我想要做的是暂停代码的执行,直到parsey完成。不知道这是怎么回事。

编辑。当我说parsey没有正确完成时,我的意思是我从运行demo.sh文件得到了不同的最终结果。以下是不同的输出。

当事情运行正常时

信息:tensorflow:已处理10个文档信息:tensorflow:已处理文档总数: 10信息:tensorflow:正确令牌数:0信息:tensorflow:令牌总数: 170信息:tensorflow:评估耗时秒数: 0.18,eval指标: 0.00%信息:tensorflow:已处理10文档信息:tensorflow:已处理文档总数: 10信息:tensorflow:正确令牌数: 10信息:tensorflow:令牌总数: 153信息:tensorflow:评估耗时秒数: 0.86,评估指标:6.54%.

当他们不这样做时。

信息:tensorflow:已处理文档总数:0信息:tensorflow:已处理文档总数:0

EN

回答 1

Stack Overflow用户

发布于 2016-09-12 02:46:58

你确定它会结束吗?

看起来你的代码挂起了。也许它需要用户输入?

wait()communicate()一样,subprocess.call()也会等待,直到它完成

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39439385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档