python调用shell命令
环境:CentOs/python-2.7.3
>>> import os
1.#判断目录是否存在
如,/tmp/bak是否存在,存在print ok,否则,建立该目录
>>> import os
>>> dir='/tmp/bak'
>>> if os.path.exists(dir):
... print 'ok'
... else:
... os.makedirs(dir)
2.#了解python下执行shell命令成功或失败状态或错误信息
导入模块commands,函数:(status,output)=commands.getstatusoutput(shellcmd)
如,要查看/tmp/bak目录下文件,想了解执行命令成功与否,就可以使用这种方法:
>>> import commands
>>> (status,output)=commands.getstatusoutput('ls -l /tmp/bak')
#打印出状态值:0(成功)其他表示有错误,那么具体要查明错误信息,打印output,给予提示
>>> print status
0
>>> print output
总用量 0
如下,把/tmp目录下bak删除,再打印如下:
>>> (status,output)=commands.getstatusoutput('ls -l /tmp/bak')
#显示状态码
>>> print status
512
>>> print output
#因bak已被删除
ls: 无法访问/tmp/bak: No such file or directory
此外还有另外一个可以执行shell命令方法:
os.system(shellcmd),缺点:无法知晓shellcmd执行情况
3.#执行一个命令后想等待几秒后,再另外一个命令:
>>> import time
>>> time.sleep(1)
环境:CentOs/python-2.7.3
在写脚本过程中,涉及一些函数记录,备忘,
若需要再python下能够执行shell下才能运行的命令,那么需要python下导入模块os>>> import os
1.#判断目录是否存在
如,/tmp/bak是否存在,存在print ok,否则,建立该目录
>>> import os
>>> dir='/tmp/bak'
>>> if os.path.exists(dir):
... print 'ok'
... else:
... os.makedirs(dir)
2.#了解python下执行shell命令成功或失败状态或错误信息
导入模块commands,函数:(status,output)=commands.getstatusoutput(shellcmd)
如,要查看/tmp/bak目录下文件,想了解执行命令成功与否,就可以使用这种方法:
>>> import commands
>>> (status,output)=commands.getstatusoutput('ls -l /tmp/bak')
#打印出状态值:0(成功)其他表示有错误,那么具体要查明错误信息,打印output,给予提示
>>> print status
0
>>> print output
总用量 0
如下,把/tmp目录下bak删除,再打印如下:
>>> (status,output)=commands.getstatusoutput('ls -l /tmp/bak')
#显示状态码
>>> print status
512
>>> print output
#因bak已被删除
ls: 无法访问/tmp/bak: No such file or directory
此外还有另外一个可以执行shell命令方法:
os.system(shellcmd),缺点:无法知晓shellcmd执行情况
3.#执行一个命令后想等待几秒后,再另外一个命令:
>>> import time
>>> time.sleep(1)