执行并等待结果C程序和Python脚本

时间:2013-06-20 10:12:31

标签: python c wait execution

我今天的任务是创建一个Python脚本(比如 A.py ),可以执行以下操作:

  • 启动C程序(比如 CProg )传递一些参数
  • 启动另一个Python脚本(比如 B.py )传递其他参数
  • 加入/等到 B.py 完成
  • 发送信号至 CProg
  • 迭代(我认为这根本不是问题:P)

因为我是开发Python脚本的新手,我的脑子里充满了C / C ++线程/ join / execve / ...我想问你是否有适当的方法来完成我的任务。我已经阅读了一些关于SO的相关主题(一些关于PIPE或Execl的讨论),但我不知道该使用什么。

提前致谢

1 个答案:

答案 0 :(得分:1)

使用subprocess模块。

import os
import signal
import subprocess
import sys

params = [...]
for param for params:
    proc = subprocess.Popen(['/path/to/CProg', param.., param..])
    subprocess.call([sys.executable, 'B.py', param.., param...])
    os.kill(proc.pid, signal.SIGINT)
    proc.wait()