用Python写运维脚本时,经常需要执行linux shell的命令,
Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,
下面是commands模块的3个主要函数:
1. commands.getoutput('shell command')
执行shell命令,返回结果(string类型)
1. commands.getoutput('shell command')
执行shell命令,返回结果(string类型)
2. commands.getstatusoutput('shell command')
执行shell命令, 返回两个元素的元组tuple(status, result),status为int类型,result为string类型。
cmd的执行方式是{ cmd ; } 2>&1, 故返回结果包含标准输出和标准错误.
>>> commands.getstatusoutput('pwd')
(0, '/home/oracle')
DEMO,将Sqoop的信息写入文本文件:
import commands
status, res = commands.getstatusoutput("sqoop import ....' --hive-drop-import-delims -m 1;")
f = file("/usr/text.txt", 'w+')
f.writelines(res)
f.close()