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获取命令实时输出-原样彩色输出并返回输出结果的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python执行系统命令后获取返回值的几种方式集合

    第一种情况 os.system('ps aux') 执行系统命令,没有返回值 第二种情况 result = os.popen('ps aux') res = result.read() for line in res.splitlines(): print line 执行系统命令,可以获取执行系统命令的结果 p = subprocess.Popen('ps aux',shell=True,stdout=subprocess.PIPE) out,err = p.communicate() for

  • python执行CMD指令,并获取返回的方法

    如下所示: result = os.popen('ps aux') res = result.read() for line in res.splitlines(): print line 以上这篇python执行CMD指令,并获取返回的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python实现获取命令行输出结果的方法

    本文实例讲述了Python实现获取命令行输出结果的方法.分享给大家供大家参考,具体如下: Python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这里以获取本机MAC地址和IP地址为例! # coding: GB2312 import os, re # execute command, and return the output def execCmd(cmd): r = os.popen(cmd) text = r.read() r.close() return text # wri

  • Python3 执行系统命令并获取实时回显功能

    下面先给大家介绍下Python3 执行系统命令并获取实时回显 最近在改造一些打包的逻辑,原来在 Windows 下是基于批处理制作的,由于批处理用起来不是很方便,一些实时的计算基本无法胜任,所以转向 Python3.但在以前脚本的基础上很多是需要调用系统命令的比如 VS 编译一个项目,我们需要获取实时的回显知道编译的结果和进度.所以就有了以下方法: @staticmethod def __external_cmd(cmd, code="utf8"): print(cmd) proces

  • python在windows命令行下输出彩色文字的方法

    本文实例讲述了python在windows命令行下输出彩色文字的方法.分享给大家供大家参考.具体分析如下: 默认情况下python在控制台输出的文字信息都是黑白的,如果能将文字做成彩色的输出,输出效果会更完美,也很酷,不是吗,下面是一段演示代码,这段代码封装了一个color类用来输出带颜色的文字,只要调用该类里面的相关方法就可以了,非常简单. 复制代码 代码如下: #!/usr/bin/env python #encoding: utf-8 import ctypes STD_INPUT_HAN

  • 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(com

  • Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例

    本文实例讲述了Python获取基金网站网页内容.使用BeautifulSoup库分析html操作.分享给大家供大家参考,具体如下: 利用 urllib包 获取网页内容 #引入包 from urllib.request import urlopen response = urlopen("http://fund.eastmoney.com/fund.html") html = response.read(); #这个网页编码是gb2312 #print(html.decode("

  • 利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime import timedelta, date import calendar year = strftime("%Y", localt

  • php输出控制函数和输出函数生成静态页面

    本文实例为大家分享了php输出控制函数和输出函数生成静态页面的具体代码,供大家参考,具体内容如下 Output Control 函数详解: flush - 刷新输出缓冲 ob_clean - 清空输出缓冲区 ob_end_clean - 清空缓冲区并关闭输出缓冲 ob_end_flush - 冲刷出输出缓冲区内容并关闭缓冲 ob_flush - 冲刷出输出缓冲区中的内容 ob_get_clean - 得到当前缓冲区的内容并删除当前输出缓存 ob_get_contents - 返回输出缓冲区的内容

  • python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numerical_input.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to get numerical input # from the c

  • 使用Python获取当前工作目录和执行命令的位置

    获取当前工作目录 import sys print(sys.path[0]) 获取执行命令的位置 import os print(os.getcwd()) 补充知识:Python获取当前执行文件,根据某一级目录名称,获取此目录名称所在的绝对路径 假如当前文件绝对路径:E:\learn\python\我的file\my.py #coding:utf-8 import os #dirName:上级目录名称 #sysCoding:系统编码格式 #targetCoding:转换目标编码格式 def ge

  • shell 脚本中获取命令的输出的实现示例

    这个主要介绍的方法是获取命令的输出内容,而不是命令执行成功与否的返回值. 通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作. 比较常用的一种方式就是, 匹配命令输出的内容中是否存在某些关键字,选择执行的不同动作.比较常用的一种方式就是采用反向单引号的方式 --  保存结果的变量名=`需要执行的linux命令` 这种方式在使用时,有些细节的地方需要注意. 先用几个例子来说明一下. 比如在CentOS7环境中,使用rpm -qa命令查询某些rpm包是否安装,

  • Python获取apk文件URL地址实例

    工作中经常需要提取apk文件的特定URL地址,如是想到用Python脚本进行自动处理.需要用到的Python基础知识如下:os.walk()函数声明:os.walk(top,topdown=True,onerror=None)(1)参数top表示需要遍历的顶级目录的路径.(2)参数topdown的默认值是"True"表示首先返回顶级目录下的文件,然后再遍历子目录中的文件.当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件.(

  • python获取各操作系统硬件信息的方法

    本文实例讲述了python获取各操作系统硬件信息的方法.分享给大家供大家参考.具体如下: 1. windows 使用WMI: (WMI官网地址:http://pypi.python.org/pypi/WMI 或 点击此处本站下载.) import wmi w=wmi.WMI() cpus=w.Win32_Processor() for u in cpus: print 'cpu id:',u.ProcessorId 运行结果如下: cpu id: BFEBFBFF0001067A cpu id:

  • Python 获得命令行参数的方法(推荐)

    本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名:    sys.argv[0] 参数1:     sys.argv[1] 参数2:     sys.argv[2] test.py import sys print "脚本名:", sys.argv[0] for i in range(1, len(sy

随机推荐