【问题标题】:Popen doesn't run my exePopen 不运行我的 exe
【发布时间】:2018-08-13 21:01:12
【问题描述】:

(Python 3)

我正在尝试在一个小脚本中使用 popen 来运行可执行文件

可执行文件位于: https://github.com/Gorov/FCM_nips_workshop

我在 Windows 上,通过稍微修改 github README 命令,我可以轻松地运行程序

RE_FCT ../data/SemEval.train.fea.sst ../data/SemEval.test.fea.sst predict.fea.fullnerpair.onlyne.txt ../data/vectors.nyt2011.cbow.semeval.filtered 5 0.005

exe是RE_FCT,后面的文字都是参数

所以使用终端它可以正常工作并在运行时显示信息

但是当我尝试使用我的小 Python 脚本让它运行时,它什么也没做。实际上有些东西似乎在运行,但它永远不会结束,也不显示任何东西

这是我的代码

import subprocess


command = ['RE_FCT', '../data/SemEval.train.fea.sst', '../data/SemEval.test.fea.sst ', 'predict.fea.fullnerpair.onlyne.txt', '../data/vectors.nyt2011.cbow.semeval.filtered', '5', '0.005']
process = subprocess.Popen(test, cwd="fcm", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()

print() #sometimes it helps

请注意,我已经在运行另一个具有类似代码的 exe,并且它可以工作 提前致谢

【问题讨论】:

    标签: python-3.x subprocess exe popen launch


    【解决方案1】:

    刚刚解决了

    我不知道到底发生了什么,但问题出在process.wait(),我只是将其删除并用run 函数替换了Popen 函数,它可以工作

    这两者的区别在于popen允许脚本通过创建进程调用后立即运行,而使用run则需要等待任务结束

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多