Python中subprocess库的用法介绍

本篇文章给大家带来的内容是关于python中subprocess库的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

介绍

使用subprocess模块的目的是用于替换os.system等一些旧的模块和方法。

导入模块

>>> import subprocess

登录后复制

命令执行call()

立即学习“Python免费学习笔记(深入)”;

执行由参数提供的命令,把数组作为参数运行命令。其功能类似于os.system(cmd)。

>>> subprocess.call(['ls','-l')

登录后复制

其中参数shell默认为False。
在shell设置为True时,可以直接传字符串:

>>> subprocess.call('ls -l',shell=True)

登录后复制

获得返回结果check_output()

call()是不返回显示的结果的,可以使用check_ouput()来获得返回的结果:

>>> result = subprocess.check_output(['ls','-l'],shell=True)>>> result.decode('utf-8')

登录后复制

进程创建和管理Popen类

subprocess.popen代替os.popen。可以创建一个Popen类来创建进程和进行复杂的交互。

创建不等待的子进程

import subprocesschild = subprocess.Popen(['ping','-c','4','www.baidu.com'])print('Finished')

登录后复制

添加子进程等待

import subprocesschild = subprocess.Popen(['ping','-c','4','www.baidu.com'])child.wait()  # 等待子进程结束print('Finished')

登录后复制

添加了wait()后,主进程会等待子进程结束再执行下面的语句。

子进程文本流控制

标准输出重定向:

import subprocesschild = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE)    #将标准输出定向输出到subprocess.PIPEprint(child.stdout.read())

登录后复制

使用stdin与其配合使用:

import subprocesschild1 = subprocess.Popen(['cat','/etc/passwd'],stdout=subprocess.PIPE)child2 = subprocess.Popen(['grep','root'],stdin=child1.stdout,stdout=subprocess.PIPE)print child2.communicate()

登录后复制

以上就是Python中subprocess库的用法介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2260248.html

(0)
上一篇 2025年2月27日 05:29:45
下一篇 2025年2月27日 05:30:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python中defaultdict的详解(代码示例)

    本篇文章给大家带来的内容是关于Python中defaultdict的详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 默认值可以很方便 众所周知,在Python中如果访问字典中不存在的键,会引发KeyErro…

    编程技术 2025年2月27日
    000
  • python中二叉搜索树的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于python中二叉搜索树的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、二叉搜索树 **二叉搜索树(BST binary search tree)**是一种比较特殊的…

    2025年2月27日 编程技术
    200
  • python中队列的实现方法(代码示例)

    本篇文章给大家带来的内容是关于python中队列的实现方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对于python来说,要实现一个队列的类根据已经有的方法,是很简单的。既然队列要求一端插入,一端删除。明…

    编程技术 2025年2月27日
    200
  • python中二叉堆的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于python中二叉堆的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、堆 数据结构 堆(heap) 是一种优先队列。队列是一种先进先出的数据结构。队列的一个重要变种称为…

    编程技术 2025年2月27日
    200
  • 如何用Python搭建匿名代理池?搭建匿名代理池的方法

    本篇文章给大家带来的内容是介绍如何用Python搭建匿名代理池?搭建匿名代理池的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 常听到很多人抱怨自己的ip因爬虫次数太多而被网站屏蔽,不得不频繁使用各种代理ip,却又因…

    编程技术 2025年2月27日
    200
  • Python的实战小项目之银行系统的实现

    本篇文章给大家带来的内容是介绍python的实战小项目之银行系统的实现。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 众所周知,在编程过程中理论知识再充实也需要通过项目的炼金石。下面给大家看一下我徒弟做的一个小项目实战要…

    编程技术 2025年2月27日
    200
  • python中K-近邻算法的原理与实现(附源码)

    本篇文章给大家带来的内容是关于python中k-近邻算法的原理与实现(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 k-近邻算法通过测量不同特征值之间的距离方法进行分类。 k-近邻算法原理 对于一个存在标签的训练…

    2025年2月27日
    200
  • python中变量与运算符的代码示例讲解

    本篇文章给大家带来的内容是关于python中变量与运算符的代码示例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是变量 假设两个list做数学运算 >>> [1,2,3,4,5,6] [1,2,…

    编程技术 2025年2月27日
    200
  • Python中对文件的相关处理操作的介绍(附代码)

    本篇文章给大家带来的内容是关于Python中对文件的相关处理操作的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件…

    编程技术 2025年2月27日
    200
  • Python和Selenium对浏览器窗口进行处理的代码实例

    本篇文章给大家带来的内容是关于python和selenium对浏览器窗口进行处理的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 上一次提到了浏览器的弹出框处理,浏览器窗口也是会由某种原因触发,使得浏览器打开了一个…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论