我有两个python脚本,progA.py和progB.py。我想创建一个管道来将参数从progA传递到progB,并从progA中的progB输出结果。
在progB中接收/读取参数的函数是getParameters()
def getParameters():
global a, b, c, d, e, f, g, h, i
sys.stdin.readline() # read a blank line (in input file from simviz1.py)
a = float(sys.stdin.readline())
b = float(sys.stdin.readline())
c = float(sys.stdin.readline())
d = sys.stdin.readline().strip() # strip off '\n'
e = float(sys.stdin.readline())
f = float(sys.stdin.readline())
g = float(sys.stdin.readline())
h = float(sys.stdin.readline())
i = float(sys.stdin.readline())
if __name__ == "__main__":
if len(sys.argv) > 1:
print 'sys.argv[1]:', sys.argv[1]
if sys.argv[1] == 'default':
pass # no reading of input
else:
getParameters()
else:
getParameters()
myloop()
当我在progA中创建这样的管道时(将'default'传递给progB使用a-i的预定义值)
import subprocess as sp
if __name__ == '__main__':
echo = sp.Popen(['progB.py','default'],
stdin = sp.PIPE,
stdout = sp.PIPE,
shell = True)
myValue = echo.communicate()[0]
print myValue
我在progA中打印了正确的输出。我试图将修改后的值从progA传递到progB而不是默认值,但对于我的生活,我无法弄清楚如何。我认为我走的是正确的道路,但我被卡住了,我正在寻求帮助。
非常感谢任何提示,提示或建议!!!!!