首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

python模块--subprocess

该模块拥有多个方法,具体如下: subprocess.call() 直接打印系统命令的执行结果,如果执行成功,返回状态码为0,否则为1,例如: #执行成功 import subprocess CALL1...subprocess.check_output()     不会将系统命令的执行结果直接打印出来,返回一个bytes类型的对象,该对象包含了系统命令的执行结果,如果执行失败会抛出subprocess.CalledProcessError...    最短 = 0ms,最长 = 0ms,平均 = 0ms subprocess.Popen()     上面几个函数都是Popen()的封装,主进程都会等待子进程执行完毕,Popen()创建的子进程不会被等待...POPEN1.send_signal() # 向子进程发送信号 pid属性包含了子进程的pid号     2.subprocess.Popen()另一个常用的功能是文本流控制,对应的"标准输入"、"标准输出..."、"标准错误"分别是: POPEN1.stdin POPEN1.stdout POPEN1.stderr subprocess.PIPE(为文本流提供一个缓存区)作为管道,可以用来连接标准输出和标准输入

64110

Python下的subprocess.call()使用和注意事项

利用Python调用cmd的方法也有不少,例如os.system和subprocess.call(),本次主要介绍后者。同时也会说明一些避雷的注意事项。...subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。其中的subprocess.call()则可以调用windows系统cmd命令行执行额外的命令。...在使用subprocess.call()之前,需要保证调用的软件已经添加在系统的环境变量路径中。...如GDAL: 我以GDAL中的gdalwarp函数为例 当程序能在cmd中正确运行时,我们才可能使用subprocess.call()调用它。...比如: GDAL的影像拼接: 裁剪:(图略) GIF制作:(图略) 图像拼接: 视频流的声音导入:(图略) 以下: 1、subprocess.call()的输出反馈有3个,分别是0,1,2。

7.8K20

python的subprocess模块

subprocess.call() 执行指定的命令,返回命令执行状态,其功能类似于os.system(cmd)。 ​...stdout, stderr: run()函数默认不会捕获命令执行结果的正常输出和错误输出,如果我们向获取这些内容需要传递subprocess.PIPE,然后可以通过返回的CompletedProcess...的输出是字符串。 ​...call()方法启动的进程,其标准输入输出会绑定到父进程的输入和输出。调用程序无法获取命令的输出结果。但可以通过check_output()方法来捕获输出。...preexec_fn:只在Unix平台下有效,用于指定一个可执行对象,它将在子进程运行之前被调用 close_sfs:在Windows平台下,如果close_sfs被设置为True,则新创建的子进程将不会继承父进程的输入

2.9K20

Python调用Ant构建时根据构建状态来决定命令行退出状态

os.system()无法获得返回值和输出 os.popen()返回的是file read的对象,对其进行读取read()操作可以看到执行的输出。...commands.getstatusoutput()返回系统命令的退出状态和输出 commands.getstatus()返回系统命令的退出状态 commands.getoutput()返回系统命令的输出...命令不是系统命令的缘故 于是查找资料又得知了subprocess的相关函数,如subprocess.call、subprocess.check_call、subprocess.check_output...subprocess.call (*popenargs , **kwargs )执行命令,并等待命令结束,再返回子进程的返回值 subprocess.check_call (*popenargs...subprocess.check_output()执行程序,并返回其标准输出 在使用subprocess.call命令执行Ant命令行时: 不论构建成功还是失败(BUILD SUCCESSFUL

99720

python之系统命令

call 执行命令,返回状态码 1 2 ret = subprocess.call(["ls", "-l"], shell=False) ret = subprocess.call("...0 无缓冲,1 行缓冲,其他 缓冲区大小,负值 系统缓冲 stdin, stdout, stderr:分别表示程序的标准输入、输出、错误句柄 preexec_fn:只在Unix平台下有效,用于指定一个可执行对象...(callable object),它将在子进程运行之前被调用 close_sfs:在windows平台下,如果close_fds被设置为True,则新创建的子进程将不会继承父进程的输入、输出、错误管道...所以不能将close_fds设置为True同时重定向子进程的标准输入、输出与错误(stdin, stdout, stderr)。...subprocess.Popen(["mkdir","t1"]) ret2 = subprocess.Popen("mkdir t2", shell=True) 终端输入的命令分为两种: 输入即可得到输出

1.1K40

Python模块学习:subprocess模块详解

subprocess.getstatusoutput(cmd)执行cmd命令,返回一个元组(命令执行状态, 命令执行结果输出),其功能类似于commands.getstatusoutput()。...run()函数默认不会捕获命令执行结果的正常输出和错误输出,如果我们向获取这些内容需要传递subprocess.PIPE,然后可以通过返回的CompletedProcess类实例的stdout和stderr...universal_newlines: 该参数影响的是输入与输出的数据格式,比如它的值默认为False,此时stdout和stderr的输出是字节序列;当该参数的值设置为True时,stdout和stderr...的输出是字符串。...捕获这个异常,然后重新尝试通信不会丢失任何输出的数据。但是超时之后子进程并没有被杀死,为了合理的清除相应的内容,一个好的应用应该手动杀死这个子进程来结束通信。

30440

Python调用Shell命令

print os.system("service apache2 status") ---- popen方不仅仅返回结果,还返回一个类文件对象,通过调用该对象的read()或readlines()方法可以读取输出内容...output.read() ---- ****通过commands模块**** 使用commands模块的getoutput方法,这种方法同popend的区别在于popen返回的是一个类文件对象,而本方法将外部程序的输出结果当作字符串返回...#返回(status, output) commands.getstatusoutput(command) #只返回输出结果 commands.getoutput(command)...ls") print commands.getoutput("ls") ---- ****通过subprocess模块**** subprocess与system相比的优势是它更灵活 #只返回结果 subprocess.call...("command", shell=True) sample import subprocess print subprocess.call("service apache2 status", shell

1.3K50
领券