Subprocess和popen的问题

时间:2016-07-06 07:43:19

标签: python subprocess

最近,我编写了以下代码来从另一个python代码运行python文件'file1.py'。我正在研究覆盆子pi(带有锉刀)

Python代码:

    import subprocess
    subprocess.Popen(['python','./file1.py'])
    print 'Done'

输出:

    Done

file1.py未执行,屏幕上没有其他响应

file1.py

    a=5
    a=a+5
    print(a)

我搜索了一些相同的问题,但它对我不起作用。请帮忙!

Running multiple Python scripts

2 个答案:

答案 0 :(得分:1)

Popen分叉当前进程,这意味着您只需在执行的脚本中打印就无法看到其输出。

您需要重定向其输出:

p = subprocess.Popen(['python','./file1.py'], stdout=subprocess.PIPE)
print(p.stdout.read())

答案 1 :(得分:0)

p=subprocess.Popen(["python","1st.py"],stdin=PIPE,stdout=PIPE)
print p.communicate()[0]

OR

print(p.stdout.read())

Communicate()将检索有助于查看结果的最后处理过程输出