使用pexpect:

2.py:

import sys

if sys.stdout.isatty():

print('hello')

else:

print('goodbye')

子:

import subprocess

p = subprocess.Popen(

['python3.4','2.py'],stdout=subprocess.PIPE

)

print(p.stdout.read())

--output:--

goodbye

Pexpect的:

import pexpect

child = pexpect.spawn('python3.4 2.py')

child.expect(pexpect.EOF)

print(child.before) #Print all the output before the expectation.

--output:--

hello

这里是grep –colour = auto:

import subprocess

p = subprocess.Popen(

['grep','--colour=auto','hello','data.txt'],stdout=subprocess.PIPE

)

print(p.stdout.read())

import pexpect

child = pexpect.spawn('grep --colour=auto hello data.txt')

child.expect(pexpect.EOF)

print(child.before)

--output:--

b'hello world\n'

b'\x1b[01;31mhello\x1b[00m world\r\n'

python3 subprocess_Python 3.4.3 subprocess.Popen获取命令输出而不管道?相关推荐

  1. subprocess.Popen获取子程序输出

    new_child = subprocess.Popen([self.manage, worker], stderr=subprocess.PIPE) for line in iter(new_chi ...

  2. Python 技术篇-通过管道命令获取cmd执行的结果,获取os.system()、subprocess.Popen()执行命令返回的结果

    正常的 os.system() 执行完后只会返回个执行状态值,返回的 0 表示执行成功,1 表示执行失败. 如果想要获取到执行后的结果集,就需要用到管道命令 os.popen(),然后用 read() ...

  3. Python subprocess.Popen 实时输出 stdout(正确管道写法)

    大部分的程序是这样的: from subprocess import Popen, PIPE, STDOUTp = Popen(cmd, stdout=PIPE, stderr=STDOUT, she ...

  4. subprocess.Popen(执行命令)

    subprocess.Popen(arg, shell=True,cwd='path') arg是你执行的命令,可以是字符串,也可以是列表/元组,如果 args 是字符串,它将作为命令行字符串通过sh ...

  5. python subprocess库 终端命令行命令

    python subprocess subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值. 具体看官方文档 https://docs.python.or ...

  6. C或C 如何通过程序执行shell命令并获取命令执行结果?

    1 应用场景 最近在实际程序开发中,需要通过程序执行 shell 命令,并获取命令输出内容.但是系统自带的 system 只能返回命令执行成功与否,不能捕获命令输出. 2 扩展性 由于应用场景本就广泛 ...

  7. linux shell 命令执行结果,如何通过程序执行shell命令并获取命令执行结果?

    1 参考资料 1.[c/c++]如何调用[linux]shell命令行命令并获取命令行的输出内容(https://blog.csdn.net/youngstar70/article/details/7 ...

  8. windows popen 获取不到输出_彻底明白os.system、os.popen、subprocess.popen的用法和区别...

    Hello,大家好,沉寂许久,我又来了,这次给大家分享的就是上述三个方法的使用范围和区别,不熟悉的可以在这个地方画一个圆满的句号了. os.system 首先来看这个函数的文档说明 是说是在一个子sh ...

  9. python 执行命令,并获取结果及执行状态(os.popen、subprocess.Popen、os.system)

    使用时的数据记录整理,有问题请跳过 一.模块 os.popen.subprocess.Popen.os.system 二.具体操作 1. os.popen() import osr = os.pope ...

最新文章

  1. 认识 PHP 的hash函数
  2. torch 常用函数
  3. windows经典地雷小游戏(C语言实现)
  4. JavaScript模块化编程知识分享!
  5. Spring Data Solr教程:分页
  6. 深度学习样本标完后图片增强标签内容不变
  7. HTML基础——HTML
  8. 个人简历小程序(附源码)
  9. oracle脱敏脚本
  10. origin 画热图
  11. python中三角函数计算
  12. Keyword Spotting (KWS) | Deep Spoken Keyword Spotting: An Overview
  13. 提交代码时用prettier自动格式化
  14. 关于电机编码器的知识汇总,都在这里了!
  15. 关于javascript的调试
  16. 第四周小组作业:WordCount优化
  17. 图像调整亮度饱和度 c语言,数据增强-亮度-对比度-色彩饱和度-色调-锐度 不改变图像大小...
  18. 机器学习笔记-投票法(Voting)理论与实现
  19. Linux下的无名管道
  20. COM编程入门 第一部分——什么是COM,如何使用COM

热门文章

  1. 报错: eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.3.2...
  2. AppCompatActivity与toolbar的结合
  3. MYSQL 练习题
  4. VS2008环境下CEGUI 0.7.1及相关工具的编译(转载 + 额外的注意事项)
  5. C++ Code_ImageList
  6. 【转】SQL SERVER函数无法执行对数据库的修改语句
  7. Python学习札记(六)
  8. Linux slab 分配器剖析
  9. 实时数据库领域中有关数据压缩的认识误区
  10. “System.Data.Entity.ModelConfiguration.ModelValidationException”类型的未经处理的异常在 EntityFramework.dll 中发生