python调用系统命令popen、system

python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。所以说一般我们认为popen更加强大

os.system(cmd):

该方法在调用完shell脚本后,返回一个16位的二进制 数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256。

os.popen(cmd):

这种调用方式是通过管道的方式来实现,函数返回一个file-like的对象,里面的内容是脚本输出的内容(可简单理解为echo输出的内容)。

实例如下:

1 import numpy
2 import os
3 t=os.popen(‘ls‘)
4 print t.read()
5 t=os.system(‘ls‘)
6 print t

效果:

server.py
setup.py
t
test
test.c
test.nja
test.o
0

python调用系统命令popen、system,布布扣,bubuko.com

时间: 2024-08-09 22:02:12

python调用系统命令popen、system的相关文章

python调用系统命令 shell命令

使用python调用系统命令,基本有3种选择: 1. 使用os模块的system方法 import os os.system('ls') 2. 使用os模块的popen方法 import os os.popen('ls') 3. 使用commands模块的getstatusoutput方法 import commands commands.getstatusoutput('ls') 以上3种方式都可以调用系统命令,但其中第三种方式,过程中如果系统命令报错,例如mkdir一个已存在的目录,其不会把

Python调用系统命令的6种方法

Python调用系统命令的6种方法在Python中调用系统命令一般使用os或者subprocess模块,下面介绍Python中最常用的6种调用系统命令的方法.1.os.system()该函数返回命令执行结果的返回值,system()函数在执行过程中进行了以下三步操作:1.fork一个子进程:2.在子进程中调用exec函数去执行命令:3.在父进程中调用wait(阻塞)去等待子进程结束.返回0表示命令执行成功,其他表示失败.用法:os.system("command")2.os.popen

Python调用外部程序——os.system()和subprocess.call()

通过os.system和subprocess.call()函数调用其他程序 预备知识:cmd中打开和关闭程序 cmd中打开程序 a.打开系统自带程序 系统自带的程序的路径一般都已加入环境变量之中,只需在cmd窗口中直接输入程序名称即可. 以notepad为例,直接在cmd窗口中输入notepad后回车即可打开. b.打开自己安装且没有加入环境变量的程序 以网易云音乐为例,在cmd窗口中需要输入完整的程序路径  "D:\Program Files (x86)\Netease\CloudMusic\

Python 调用系统命令

os.system os.spawn os.popen popen2 commands 这些东西统统将被subprocess取代,subprocess真的很好用,有没有! 1.subprocess.call() subprocess.call()参数是一个列表,如果想把shell命令以字符串的形式传进来,需要添加shell=True这个参数. >>> from subprocess import call >>> call("df -h",shell

用python调用系统命令并获得返回

目的:有时候需要一些系统的信息或者执行不是python的文件,这时候需要通过os模块调用它们. 环境:windows 7  Python 3.5.3 情景: 1)我通过python处理生成一个系统可以直接运行的文件,如bat批处理,需要执行它; 2)我对批处理比较熟悉,想要在python执行命令并获得它的返回信息. 这两种情况都需要导入os模块: 第一种情况: os.open(file, flags[, mode]); 可以打开系统中的文件,参数如下: file --  要打开的文件 flags

Python调用系统命令的四种方法

一.os.system(commandString) import os statusCode=os.system("powershell sleep 3 ;echo 天下大势为我所控") print("over",statusCode) 这里使用了powershell来执行sleep命令,在cmd里面是没有sleep命令的. 会发现os.system(commandString)是阻塞的. 这个函数类似C语言里面的stdlib.h中的system命令 这种方法只负

python 调用cmd,不显示cmd黑框

python 调用系统命令的方式有很多 1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 1.2   os.popen(command,mode) 打开一个与command进程之间的管道.这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默

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

在使用python执行Ant构建时遇到的问题: 使用os.system()调用Ant构建时,不论构建成功还是失败(BUILD SUCCESSFUL/BUILD FAILED),命令行的总是正常退出 要解决问题: 首先想到的是获取ant命令的返回值,根据返回值来决定命令行的退出状态(0或非0,0代表正常退出) 查阅相关资料,得知python调用系统命令的函数有:os.system.os.popen.commands.getstatusoutput/getstatus/getoutput.subpr

python调用shell命令小结

在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen.默认情况下subprocess.call的方法结果是返回值,即1或0,而os.popen则是命令运行的结果,可以用readlines(读取所有行,返回数组)或者read(读读取所有行,返回str)来读取. subprocess类总主要的方法有: subprocess.call:开启子进程,开启子进程,运行命令,默认结果是返回值,不能try subproce