首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python中的subprocess

python2.7 源码中的注释(由于能力有限,翻译的不太准确): 这个模块允许您开启进程、连接输入、输出和错误的管道,并获取他们的返回代码。....* 关于subprocess模块可以用来取代这些模块和功能在下面可以找到 这个模块定义了一个Popen的类: class Popen(args, bufsize=0, executable=None,...在python程序中都是看作为\n 注意: 这种功能仅仅支持用通用换行符构建的python(默认)。同时文件对象标准输出、标准输入、标准错误的换行符属性,不会被communicate()模块所更新。...空值表示进程还没有结束,一个负值‘-N’表示子进程被信号N所结束(仅unix支持) 用subprocess模块取代旧函数: =======================================...注意: 如果没有找到执行程序,所有在本节中的函数都有可能以静默状态失败;这个模块会抛出OSError异常 在以下的例子中, 我们假设subprocess 模块是"from subprocess import

1.6K30

python的subprocess模块

) 方法 ​ subprocess的call方法可以用于执行一个外部命令,但该方法不能返回执行的结果,只能返回执行的状态码: 成功(0) 或 错误(非0) subprocess.call():执行命令...bufsize:缓冲区大小,可不用关心 stdin,stdout,stderr:分别表示程序的标准输入,标准输出及标准错误 shell:与上面方法中用法相同 cwd:用于设置子进程的当前目录 env:用于指定子进程的环境变量...True同时重定向子进程的标准输入、输出与错误 shell:同上 cod:用于设置子进程的当前目录 env:用于指定子进程的环境变量。...下有效 将被传递给底层的createprocess()函数,用于设置子进程的一些属性, 如:主窗口的外观,进程的优先级等 subprocess实现sudo自动输入密码 ​ 例如Python里面执行sudo...如果你的应用使用的Python 2.4以上,但是是Python 3.5以下的版本,Python官方给出的建议是使用subprocess.call()函数。

3.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python subprocess模块

    run()方法在python3.5才有,python2.x没有,2.x用subprocess.call(),当然python3.X版本也支持call() 常见的subprocess方法 subprocess.call...用于执行复杂的系统命令 参数: args:shell命令,可以是字符串或者序列类型(如:list,元组) bufsize:指定缓冲。...shell:同上 cwd:用于设置子进程的当前目录 env:用于指定子进程的环境变量。如果env = None,子进程的环境变量将从父进程中继承。...CreateProcess()函数,用于设置子进程的一些属性,如:主窗口的外观,进程的优先级等等 终端输入的命令分为两种: 输入即可得到输出:如 ifocnfig 输入进行某环境,依赖某环境再输入...:如 python 需要交互的命令示例: import subprocess obj = subprocess.Popen(["python"], stdin=subprocess.PIPE

    1K20

    python模块--subprocess

    subprocess模块用于帮助我们在python代码中去执行一些系统命令,在执行python程序时,该模块会创建出一个子进程,来运行外部程序。     ...该模块拥有多个方法,具体如下: subprocess.call() 直接打印系统命令的执行结果,如果执行成功,返回状态码为0,否则为1,例如: #执行成功 import subprocess CALL1...CHECK_CALL2 = subprocess.check_call('ping 1.1.1.2 -n 1',shell=True)   File "C:\Python3.6\lib\subprocess.py...subprocess.check_output()     不会将系统命令的执行结果直接打印出来,返回一个bytes类型的对象,该对象包含了系统命令的执行结果,如果执行失败会抛出subprocess.CalledProcessError...()另一个常用的功能是文本流控制,对应的"标准输入"、"标准输出"、"标准错误"分别是: POPEN1.stdin POPEN1.stdout POPEN1.stderr subprocess.PIPE

    67410

    Python之Subprocess模块

    如果由subprocess去执行系统命令的时候并不会让主进程去执行,而是主进程会开辟出一个子进程去执行,并不会影响到主进程的运行,主进程该干嘛就干嘛,那么又有个问题,大家都知道进程之间的内存空间是独立的...,也就是说进程之间是不能相互访问的,那么在subprocess中,有个管道的概念,既然固定死了进程之间不能相互访问,那么可以将执行命令的结果输出到管道里,该管道其实就是一块共享的内存空间,可以让主进程去获取到该共享内存空间存放的数据...subprocess简单案例 import subprocess # 创建一个子进程去执行系统命令 obj=subprocess.Popen( 'ps -ef', # 执行的系统命令...(必须是字符串格式) shell=True, # 指定命令解释器来解释执行的这条命令 stdout=subprocess.PIPE, # 将执行的正确结果丢到管道(共享内存空间...,用于进程之间共享) stderr=subprocess.PIPE # 将执行的错误结果丢到另一个新的管道 ) ''' 当从任意一个管道,例如正确或者错误结果管道中获取值, ''' # 从正确管道中获取值

    65810

    Python模块之subprocess

    一 简介 在使用Python 开发MySQL自动化相关的运维工具的时候,遇到一些有意思的问题,本文介绍Python的 subprocess 模块以及如何和MySQL交互具体操作,如启动 ,关闭 ,备份数据库...Popen常见的函数 Popen.poll() 用于检查子进程是否已经结束,设置并返回returncode属性。 Popen.wait() 等待子进程结束,设置并返回returncode属性。...那么坑爹的问题来了:当你要使用Python的subprocess.Popen实现命令行之间的管道传输,同时数据源又非常大(比如读取上GB的文本或者无尽的网络流)时,官方文档不建议用wait,同时communicate...怎么使用Python的subprocess来解决呢?...五 参考资料 [1] 官方文档 [2] Python中的subprocess与Pipe [3] python类库31[进程subprocess]

    2K10

    awk 用于16进制内存地址的运算

    在proc 文件系统中关于进程的内存信息,避免不了涉及内存地址的问题,而对于内存地址的计算,默认是采用16进制的,其实可以使用awk进行处理,如下是一个例子: root:map_files# ls -lht.../usr/lib64/libselinux.so.1 root:map_files# root:map_files# cat /tmp/test.file |grep -Evi ^total | awk...'{print $9}' | awk -F'-' '{s=strtonum("0x"$1);e=strtonum("0x"$2);print (e-s)}' 4096 126976 2097152...毕竟,把上述的内存map都加起来,那么就是 该进程当前所可以访问的所有的文件在内存空间的影射,其值和top -p PID 显示的virt 有一定的关系,总体上总是小于VIRT的,但是占用了virt的大多数部分哦...,至于和VIRT的区别,这个要去了解VIRT的构成部分了.

    1.2K30

    Python模块学习:subprocess模块详解

    一.subprocess模块subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码。...2.subprocess.Popen类的实例可调用的方法方法 描述Popen.poll() 用于检查子进程(命令)是否已经执行结束,没结束返回None,结束后返回状态码。...Python 2.4及以上的版本就应该使用subprocess模块了。...如果你的应用使用的Python 2.4以上,但是是Python 3.5以下的版本,Python官方给出的建议是使用subprocess.call()函数。...如果你的应用使用的是Python 3.5及以上的版本(目前应该还很少),Python官方给出的建议是尽量使用subprocess.run()函数。

    1.2K40

    subprocess:Python中创建子进程

    前言 subprocess库提供了一个API创建子进程并与之通信。这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进行的标准输入和输出通道来回传数据。...本篇,将详细介绍Python创建附加进行的库:subprocess。 run(运行外部命令) subprocess库本身可以替换os.system(),os.spawnv()等函数。...这就是subprocess库创建进程的通信机制) 需要注意的是,如果需要抑制输出效果,可以将stdout与stderr设置为subprocess.DEVNULL。...直接处理管道 subprocess库还有一个非常重要的类Popen,它是用来建立其他API的底层API,对更复杂的进程交互很有用。...result = proc2.stdout for line in result: print(line.decode('utf-8').strip()) sys的命令交互 在我们学习Python

    54770

    python模块之subprocess类与常量

    常量 subprocess.DEVNULL:可传递给stdin, stdout, stderr参数的特殊值,意味着将使用特殊文件os.devnull重定向输入输出 subprocess.PIPE:可传递给...stdin, stdout, stderr参数的特殊值,意味着使用管道重定向输入输出 subprocess.STDOUT:可传递给stderr参数的特殊值,表示重定向标准错误到标准输出 Popen 在一个新的进程中执行子程序...如果为True,在POSIX系统下,在子进程执行前关闭除0,1,2外的文件描述符。 pass_fds:限于POSIX,可选的文件描述符序列,用于在父子进程间保持开放。...universal_newlines参数等同于text,用于后向兼容。...subprocess模块的异常基类 subprocess.TimeoutExpired 子进程执行超时。

    2.5K10

    Python用subprocess的Popen来调用系统命令

    以下是一个非常easy的样例,来自Python的官网教程:http://docs.python.org/library/subprocess.html >>> import shlex, subprocess...參数cwd用于设置子进程的当前文件夹。 參数env是字典类型,用于指定子进程的环境变量。假设env = None,子进程的环境变量将从父进程中继承。...假设将此參数设置为True,Python统一把这些换行符当作’/n’来处理。...subprocess.STDOUT 创建Popen对象时,用于初始化stderr參数,表示将错误通过标准输出流输出。 Popen的方法: Popen.poll() 用于检查子进程是否已经结束。...在异常对象中,包 括进程的returncode信息。 subprocess模块的内容就这么多。在Python手冊中,还介绍了怎样使用 subprocess来替换一些老的模块,老的函数的样例。

    1.9K20

    Python标准库06 子进程 (subprocess包)

    这里的内容以Linux进程基础和Linux文本流为基础。subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我在Python中调用wget程序。...从这个意义上来说,subprocess的功能与shell类似。 subprocess以及常用的封装函数 当我们运行python的时候,我们都是在创建并运行一个进程。...在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序(fork,exec见Linux进程基础)。...通过使用subprocess包,我们可以运行外部程序。这极大的拓展了Python的功能。...如果你已经了解了操作系统的某些应用,你可以从Python中直接调用该应用(而不是完全依赖Python),并将应用的结果输出给Python,并让Python继续处理。

    2.8K60

    【说站】python subprocess模块是什么

    python subprocess模块是什么 说明 1、subprocess是Python新增的一个模块,它允许生成新的进程,连接到它们的 input/output/error管道。...并获取它们的返回(状态)码。 2、这个模块的目的在于替换几个旧的模块和方法。 subprocess模块中的常用函数 函数 描述 subprocess.run() Python 3.5中新增的函数。...subprocess.call() 执行指定的命令,返回命令执行状态,其功能类似于os.system(cmd)。 subprocess.check_call() Python 2.5中新增的函数。...subprocess.check_output() Python 2.7中新增的的函数。执行指定的命令,如果执行状态码为0则返回命令执行结果,否则抛出异常。...以上就是python subprocess模块,希望对大家有所帮助。

    36520
    领券