python subprocess pipe 实时输出日志的操作

Nancy ·
更新时间:2024-11-10
· 994 次阅读

* test11.py

import time print "1" time.sleep(2) print "1" time.sleep(2) print "1" time.sleep(2) print "1"

* test.py

import subprocess

p = subprocess.Popen("python test11.py", shell=True, stdout=subprocess.PIPE)

# None表示正在执行中

while p.poll() is None: <br>  out = p.stdout.readline() <br>  if out != "": <br>    print out

补充知识:python 通过 subprocess.Popen执行命令,重定向实时输出

执行命令

import subprocess import sys # 常用编码 GBK = 'gbk' UTF8 = 'utf-8' # 解码方式,一般 py 文件执行为utf-8 ,cmd 命令为 gbk current_encoding = GBK popen = subprocess.Popen('ping www.baidu.com', shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE, bufsize = 1) out,err = popen.communicate() print('std_out: ' + out) print('std_err: ' + err) print('returncode: ' + str(popen.returncode))

执行 .py文件

import subprocess import sys # 常用编码 GBK = 'gbk' UTF8 = 'utf-8' current_encoding = UTF8 popen = subprocess.Popen('python D:\code\test.py', stdout = subprocess.PIPE, stderr = subprocess.PIPE, bufsize = 1) out,err = popen.communicate() print('std_out: ' + out) print('std_err: ' + err) print('returncode: ' + str(popen.returncode))

以上这篇python subprocess pipe 实时输出日志的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:通过实例解析python subprocess模块原理及用法使用python执行shell脚本 并动态传参 及subprocess的使用详解python中的subprocess.Popen()使用详解Python中Subprocess的不同函数解析Python Subprocess模块原理及实例Python 从subprocess运行的子进程中实时获取输出的例子python模块之subprocess模块级方法的使用python3通过subprocess模块调用脚本并和脚本交互的操作



输出 subprocess pipe Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号