python调用shell脚本

释放双眼,带上耳机,听听看~!

os.system(command) 返回command命令的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。

os.popen(command,mode) 返回command命令的执行结果。返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r')。如果mode为'r',可以使用此函数的返回值调用read()来获取command命令的执行结果。如a=os.popen(cmd).read()。还可以使用a.rstrip()进行去除换行符"n"。

commands.getstatusoutput(command) 返回command命令的执行状态和执行结果,返回的是一个元组。该方法其实也是对popen的封装。

演示1:


1
2
3
4
1import os
2line=os.popen('date -d -5day +"%Y%m%d"','r')
3print line.read().rstrip()  #调用read()方法获取结果,调用rstrip()方法去除换行符
4

执行结果如下


1
2
3
1[root@bear ~]# python 9.py
220130306  #如果不调用rstrip()方法,后面会多出一行空行
3

演示2:


1
2
3
4
5
6
7
1import commands
2line=commands.getstatusoutput('date -d -5day +"%Y%m%d"')  #获取5天前的日期
3print line[0]  #输出命令执行状态
4print line[1]  #输出命令执行结果
5print type(line)
6print type(line[1])
7

执行结果如下:


1
2
3
4
5
6
1[root@bear ~]# python 8.py
20
320130306
4#line是一个元组
5#line[1]是一个字符串
6

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C++ lambda表达式

2022-1-11 12:36:11

气候知识

2014年第1号台风“玲玲”

2014-7-6 21:50:33

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索