pyhon專案之後pexpect使用

2022-01-16 19:06:50 字數 2587 閱讀 4757

pyhon專案之後pexpect使用

1.安裝

pip3.6 install pexpect

例項1 ssh 登陸linux 伺服器,並且執行命令

#!/usr/bin/env python3.6

# -*- coding: utf-8 -*-

# @time : 2019/10/24 17:33

# @author : zoulixiang

# @site :

# @file : ssh_login_password.py

# @software: pycharm

import pexpect

def login_ssh_passwd(port="",user="",host="",passwd="",command=""):

'''函式:用於實現pexepect實現ssh的自動化使用者密碼登陸'''

#print 'ssh -p %s %s@%s' %(port, user, host)

if port and user and host and passwd and command:

ssh = pexpect.spawn('ssh -p %s %s@%s %s' %(port, user, host, command))

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)

index = ssh.expect(["#",pexpect.eof, pexpect.timeout])

if index == 0:

print("logging in as root!")

#執行命令

ssh.before,ssh.after

elif index == 1:

print("logging in as non-root!")

print(ssh.before)

elif index == 2:

print("logging process exit!")

elif index == 3:

print("logging timeout exit")

else:

print("parameter error!")

def login_ssh_key(keyfile="",user="",host="",port="", command=""):

'''函式:用於實現pexepect實現ssh的自動化金鑰登陸'''

if port and user and host and keyfile and command:

ssh = pexpect.spawn('ssh -i %s -p %s %s@%s %s '% (keyfile,port,user,host,command))

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

print("-"*10)

print(i)

if i == 0:

ssh.sendline('yes\n')

index = ssh.expect(["#", pexpect.eof, pexpect.timeout])

else:

index = ssh.expect(["#", pexpect.eof, pexpect.timeout])

print(index)

if index == 0:

#執行命令

ssh.before,ssh.after

print("logging in as root!")

elif index == 1:

print("logging in as non-root!")

elif index == 2:

print("logging process exit!")

elif index == 3:

print("logging timeout exit")

else:

print("parameter error!")

def main():

'''主函式:實現兩種f方法分別登陸'''

#command = "hostname"

#login_ssh_passwd(port='22', user='root',host='192.168.3.201',passwd='matrix@178',command='pwd')

login_ssh_key(keyfile="/root/.ssh/id_rsa",port='22',user='root',host='192.168.3.201', command="mkdir -p /root/test2222")

if __name__ == '__main__':

main()

vue專案啟動之後出現cannot GET

今天出乙個新需求,拿到別人的 啟動vue之後總是報cannot get 的錯誤。下面是我解決的方法 瀏覽器中無法呈現已有頁面,並且在瀏覽器控制台中報404錯誤 npm run dev命令列視窗沒有報錯 網上查了下,有人說是路由配置問題 開啟了history模式,而history模式需要服務端支援 然...

乙個專案緊張結束之後

乙個非常緊急的專案結束之後,終於可以暫時松一口氣。寫幾句話來抒發一下緊張乙個多月後的心情吧。1.事情往前趕,寧可前期多加班,不要最後再緊張的加班加點。前期緊張和後期緊張,心情大不一樣啊。2.不要小看任何細節,對於使用者來說,細節 和功能實現的 同樣重要。就算你的邏輯寫的有多完美,頁面的欠缺會使你後面...

第一次專案之後

從開始學習php不知不覺已經過去兩個多月了,其中經歷了各種各樣以前沒有經歷過的生活和學習,在將近三個月的學習生活中我完成了第乙個php專案。要說感覺,還真有些奇特,從開始連php是什麼到現在能夠親手寫出乙個像模像樣的 就好像被施了魔法一樣。從學習階段上講,第乙個專案是對前兩個月面向過程學習的乙個總結...