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自定义类的数组排序实现代码

首先把实现方法写出来,其实很简单,只需要一句代码即可: 复制代码 代码如下: productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.g...

python 合并文件的具体实例

支持两种用法:(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)(2)显示的合并多文件。复制代码 代码如下:import sysimport os'''  &...

Python中map和列表推导效率比较实例分析

本文实例讲述了Python中map和列表推导效率比较。分享给大家供大家参考。具体分析如下: 直接来测试代码吧: #!/usr/bin/env python # -*- coding...

Python3 操作符重载方法示例

基础知识 实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果。以下是对重载的...

Python3遍历目录树实现方法

本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下: import os, fnmatch # 检查一个目录,后者某个包含子目录的目录树,并根据某种...