Python   Pexpect

Pexpect 是一個用來啓動子程序並對其進行自動控制的純 Python 模塊。 Pexpect 可以用來和像 ssh、ftp、passwd、telnet 等命令行程序進行自動交互。def ssh_cmd(ip, user, passwd, cmd):

    result = ''

    ssh = pexpect.spawn('ssh %s@%s "%s"' % (user, ip, cmd))


    try:

        i = ssh.expect(['password:', 'continue connecting (yes/no)?'], timeout=5)

        if i == 0:

            ssh.sendline(passwd)

        elif i == 1:

            ssh.sendline('yes\n')

            ssh.expect('password: ')

            ssh.sendline(passwd)

        result = ssh.read()

    except pexpect.EOF:

        print 'EOF for %s' % (ip)

        ssh.close()

    except pexpect.TIMEOUT:

        print 'TIMEOUT for %s' % (ip)

        ssh.close()


    ssh.close()

    return result


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章