我想通过subprocess实时获取脚本的输出内容 下面是我的脚本
test_echo.py
import timefor i in range(10):
print(i)
time.sleep(0.5)
下面是读取的脚本:
脚本名字get_output.py
import subprocess
cmd = '/root/test_echo.py'p = subprocess.Popen(['python',cmd],stdout=subprocess.PIPE, stderr=subprocess.STDOUT,bufsize=1)while 1:
line = p.stdout.readline()
if line != '' and p.poll() is None:
print line
else:
break
我用pycharm调试上面的内容可以正常的逐行(实时)读取test_echo的内容,但是我把脚本放到centos或者mac上的shell环境下通过python get_output.py它就不能逐行读取,而是等test_echo.py的结果执行完一下 输出的, 我想知道怎么才能在终端里面也能像pycharm里面一样逐行读取,还是需要怎么配置subprocess
添加回答
举报
0/150
提交
取消