我有一个C程序,在运行时需要一些控制信息。这些信息将由python程序传递。我先测试一下,效果很好。在
from subprocess import PIPE
import subprocess
cpro = ['./a_pass','2','8','7'] #2,8,7 are some parameters for init
p1 = subprocess.Popen(cpro,stdout=PIPE, stdin=PIPE)
#p2 = subprocess.Popen(cpro,stdout=PIPE, stdin=PIPE)
f1 = open('bdt.100','r') #control information
commands = f1.read()
out1 = p1.communicate(commands)[0] #get the c program output
#out2 = p2.communicate(commands)[0]
print out1
print '--------------'
#print out2
问题是当我打开评论的时候。我试图测试stdin中的这些信息是否可以通过两个进程读取。但是,我的python程序在执行时没有响应。它就挂在那里。我想原因是两个子进程为了读取stdin而斗争。我怎样才能控制他们和谐地工作呢?在
Bst致意。在
更新
我把我的代码改成这样,它就起作用了:
^{pr2}$我想说些什么,但我能感觉到发生了什么。所以,我只是把如何在没有更多分析的情况下修复代码中的问题。原谅我。在
目前没有回答
相关问题 更多 >
编程相关推荐