python 调用ansible脚本并输出回显

时间:2022-10-17 17:01:33

在运维的过程中,我们经常遇到这样的场景,在我们的python运维平台中,经常会执行一些常用的运维命令操作,这时候我们想要实现ansible的可视化批量执行,所以,实现最简便的操作就是python中调用ansible的执行命令

首先,我们引入需要用到的模块

import os
import json
import logging

然后将要执行的命令扔到变量里

host_ip =  "192.168.0.100"
command = 'ansible %s -m shell -a "df -h"' % host_ip

host_ip可通过系统交互进行传参,可根据业务自行调整

通过os模块的popen方法,执行我们设定的命令,并获取执行的结果

result = ""
try:
result = os.popen(command).read()
except Exception as e:
logging.error("执行Ansible脚本发生异常,异常信息:%s" % e)
if result:
logging.debug("返回结果:%s" % result)
else:
logging.debug("返回结果为空")