python-(subprocess, commands)

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

相关推荐