代码之家  ›  专栏  ›  技术社区  ›  Valentin Macé

Popen不运行我的exe

  •  0
  • Valentin Macé  · 技术社区  · 8 年前

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

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

    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\u 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,它可以工作 提前谢谢

    1 回复  |  直到 8 年前
        1
  •  0
  •   Valentin Macé    8 年前

    刚刚解决了

    我不知道到底发生了什么,但问题是 process.wait() ,我删除了它并替换了 Popen 使用 run 功能和它的工作原理

    两者的区别在于 popen 运行 你必须等到任务结束