Python获取命令实时输出-原样彩色输出并返回输出结果的示例

yipeiwu_com6年前Python基础

经试验显示效果不错。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import subprocess


# 与在命令窗口执行显示效果相同,如有彩色输出可保留,但不能返回结果
def run(command):
  subprocess.call(command, shell=True)


# 实时输出但不可显示彩色,可以返回结果
def sh(command, print_msg=True):
  p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
  lines = []
  for line in iter(p.stdout.readline, b''):
    line = line.rstrip().decode('utf8')
    if print_msg:
      print(">>>", line)
    lines.append(line)
  return lines


print('run():')
run("ping www.baidu.com")
print('\n\nsh():')
run("ping www.baidu.com")

以上这篇Python获取命令实时输出-原样彩色输出并返回输出结果的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python检测QQ在线状态的方法

本文实例讲述了Python检测QQ在线状态的方法。分享给大家供大家参考。具体实现方法如下: import time,datetime import urllib2 def ch...

python批量修改文件编码格式的方法

本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1、使用工具:Python2.7.6+chardet2.3.0,chardet2....

基于Python的身份证号码自动生成程序

基于Python的身份证号码自动生成程序

需求细化: 1.身份证必须能够通过身份证校验程序。 2.通过查询,发现身份证号码是有国家标准的,标准号为 GB 11643-1999 可以从百度下载到这个文档 下载:GB11643-19...

python实现异常信息堆栈输出到日志文件

将try except中捕获到的异常信息输出到日志文件中,方便查找错误原因,tranceback模块提供了把详细出错堆栈信息格式化成字符串返回函数format_exc(). 具体代码如下...

简单谈谈Python中的几种常见的数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需...