最近,我编写了以下代码来从另一个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)
我搜索了一些相同的问题,但它对我不起作用。请帮忙!
答案 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()将检索有助于查看结果的最后处理过程输出