python 调用 shell 命令方法

时间:2023-05-05 19:16:20

python调用shell命令方法

1、os.system(cmd)

缺点:不能获取返回值

2、os.popen(cmd)

要得到命令的输出内容,只需再调用下read()或readlines()等  
例:a=os.popen(cmd).read()

3、commands 模块,其实也是对popen的封装。

此模块主要有如下方法:
commands.getstatusoutput(cmd) 返回(status, output).
commands.getoutput(cmd) 只返回输出结果
commands.getstatus(file) 返回ls -ld file的执行结果字符串,调用了getoutput

例:
 >>> import commands
 >>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
 >>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
 >>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
 >>> commands.getoutput('ls /bin/ls')
'/bin/ls'
 >>> commands.getstatus('/bin/ls')
'-rwxr-xr-x  1 root        13352 Oct 14  1994 /bin/ls'