[工具] Python 一个脚本调用另一个脚本的函数执行 Linux 命令并返回执行结果

介绍

使用方法

1. 将第 1 个脚本命名为 test_main.py,将第 2 个脚本命名为 test_sub.py,并将它们放在同一个2. 目录下
3. 给此脚本添加执行权限
4. 用 python3 命令执行第 1 个脚本

注意

执行此脚本之前要先安装 ansible 命令,并可以让 ansible 命令控制名为 test 的服务器

第一个脚本

from cpu_sub import *

sename='test'

out1=cpu(sename)
out1=out1.decode().strip()

print(out1)

out2=mem(sename)
out2=out2.decode().strip()

print(out2)

out3=time(sename)
out3=out3.decode().strip()

print(out3)

第二个脚本

import subprocess

def cpu(sname):
    out = subprocess.check_output('ansible -m shell -a \'cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l\' %s | tail -1'%sname, shell=True)
    return(out)

def mem(sname):
    out = subprocess.check_output('ansible -m shell -a \'free -m\' %s | grep -i mem'%sname, shell=True)
    return(out)

def time(sname):
    out = subprocess.check_output('ansible -m shell -a \'uptime\' %s | tail -1'%sname, shell=True)
    return(out)