python执行linux命令并获取返回值

# -*-coding:utf8-*-
import paramiko

def Linux_command(ip, port, username, password, command):
    '''用于执行linux命令,并返回执行结果'''
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ip, port, username, password)
        stdin, stdout, stderr = ssh.exec_command(command)
        result1 = stdout.readlines()
        result2 = stderr.readlines()
        ssh.close()
        return result1, result2 
    except Exception as e:
        return e

获取cpu的信息

result = Linux_command('10.2.3.21', 22, 'root', '[email protected]', 'cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c')
print(result)

在这里插入图片描述

查看不存在文件夹

result = Linux_command('10.2.3.21', 22, 'root', '[email protected]', 'ls /abc')

print(result)

在这里插入图片描述
备注:

  1. 返回的数据类型为元组,索引位0为result1返回正确值,索引位1为result2返回正确值

猜你喜欢

转载自blog.csdn.net/weixin_51550551/article/details/109071925
今日推荐