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

yipeiwu_com5年前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实现动态添加属性和方法操作示例

本文实例讲述了Python实现动态添加属性和方法操作。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 class Person()...

Python外星人入侵游戏编程完整版

Python外星人入侵游戏编程完整版

PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下 准备工作:下载python,比如Anaconda3(64 bit),导入pygame游戏包 1.外星人设置,alie...

Python实现将多个空格换为一个空格.md的方法

最近在文本预处理时遇到这个问题,解决方法如下: import re str1 = ' rwe fdsa fasf ' str1_after = re.sub(' +', '',...

python实现邮件自动发送

本文实例为大家分享了python实现邮件自动发送的具体代码,供大家参考,具体内容如下 case 1:纯文本和HTML文件发送 # -*- coding: UTF-8 -*- im...

socket + select 完成伪并发操作的实例

实例如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket #创建一个socket对象 sk1 = sock...