在文件和子进程之间进行通信

时间:2014-08-05 07:14:49

标签: python

我有一个文本文件(.txt文件),它有一组命令,这个文件必须是stdin到子进程,文件中的命令应该输入到子进程程序中。

完整代码的部分如下:

    def startmedina(self):
        self.process=subprocess.Popen(['pre xx'],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True,preexec_fn=os.setsid)
        return
    def quitmedina(self):
        os.killpg(self.process.pid,signal.SIGKILL)
        return
    def medprocess(self):
        f=open('/net/s019fc000110ge/mnt_home/vol/home6/vnandak/Python_scripts/new_protcheck.txt','r')
        try:
            self.process.stdin = f.read()
            self.process.stdout

功能" startmedina"开始期望的麦地那"程序,然后它应该从stdin获取命令,它应该处理命令。基本上麦地那程序可以通过管道与python脚本交谈,但我不知道如何做到这一点。

任何人都可以帮助我吗

1 个答案:

答案 0 :(得分:0)

使用communicate

self.process.communicate(f.read())