class Exe_local_command():def __init__(self, command):‘‘‘ :param command: ‘‘‘ self.command = commanddef exe_command(self):‘‘‘ :return: ‘‘‘ exitstatus, exitresult = commands.getstatusoutput(self.command)return exitstatus, exitresultdef find_shell(self):‘‘‘ @summary:find: find_command = ‘find /tmp/atp1 -name "*.log.*"‘ :return: ‘‘‘ find_status, find_result = self.exe_command()if find_status == 0 and len(find_result) > 0 and find_result.find("No such file or directory") == -1:return find_resultclass Exe_remote_command():def __init__(self, command, ip, port, user, password):‘‘‘ :param command: ‘‘‘ self.command = commandself.ip = ipself.port = portself.user = userself.password = passworddef exe_command(self):‘‘‘ :return: ‘‘‘ completed_command = (‘ssh -o StrictHostKeychecking=no -p {0} {1}@{2} "{3}"‘.format(self.port, self.user, self.ip, self.command))if self.password != None: completed_command = "sshpass -p {0} {1}".format(self.password, completed_command) sub_process = subprocess.Popen(completed_command, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, shell=True) outtext = ‘‘ #实时获取命令执行的信息 while sub_process.poll() is None: line = sub_process.stdout.readline() outtext += lineline = line.strip()exitstatus = sub_process.returncode