,,python中subprocess实例用法及知识点详解

,,python中subprocess实例用法及知识点详解

在本文中,边肖与大家分享了关于subprocess instance的使用方法以及python中知识点的详细讲解,有需要的朋友可以跟着学。

1.子流程模块用于生成子流程,可以连接到子流程的标准输入、输出和错误,也可以获取子流程的返回值。

2.subprocess提供了两种调用子例程的方法。

实例

#编码:utf-8

导入操作系统

# popen返回一个file对象,就像open操作一样。

f=os.popen(r'ls ',' r ')

l=f.read()

打印(左)

f.close()

Python子流程知识点扩展

使用子进程模块的目的是替换一些旧的模块和方法,如os.system。

运行python时,我们都在创建和运行一个流程。像Linux进程一样,一个进程可以派生一个子进程,让这个子进程执行另一个程序。在Python中,我们通过标准库中的子流程包派生一个子流程,并运行一个外部程序。

子流程包中定义了几个函数来创建子流程。这些函数以不同的方式创建子流程,因此我们可以根据需要选择一个来使用。此外,子进程还提供了一些管理标准流和管道的工具,以便在进程之间使用文本通信。

导入模块

导入子流程

命令执行call()

执行参数提供的命令,并以数组作为参数运行命令。其功能类似于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类来创建进程和执行复杂的交互。

创建不等待的子进程

导入子流程

子流程=子流程。Popen(['ping ','-c ',' 4 ',' www.baidu.com'])

打印(“完成”)

添加子进程等待

导入子流程

子流程=子流程。Popen(['ping ','-c ',' 4 ',' www.baidu.com'])

Child.wait() #等待子进程结束

打印(“完成”)

添加wait()后,主进程将等待子进程完成,然后执行下面的语句。

子进程文本流控制

标准输出重定向:

导入子流程

Child=subprocess.popen (['ls ','-l'],stdout=subprocess。PIPE) #将标准输出定向到subprocess.pipe。

print(child.stdout.read())

使用stdin来处理它:

导入子流程

child1=子流程。Popen(['cat ','/etc/passwd'],stdout=子进程。管道)

child2=子流程。Popen(['grep ',' root'],stdin=child1.stdout,stdout=subprocess。管道)

print child2.communicate()

关于python中子流程实例的用法和知识点,本文就讲到这里。有关python中子过程用法的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: