2019-02-28 14:45:09 2755瀏覽
關(guān)于Python開發(fā)的技術(shù)性文章小編已經(jīng)分享了不少,本篇文章小編繼續(xù)給大家分享一篇Python開發(fā)的技術(shù)性文章,那就是Python Pexpect實(shí)現(xiàn)輸密碼scp拷貝的方法,對(duì)Python開發(fā)技術(shù)感興趣或者是想要參加Python培訓(xùn)學(xué)習(xí)的小伙伴可以了解一下哦。
在服務(wù)器A上的程序用到服務(wù)器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用。
scp -P 1000 192.168.199.10:/temp/data /temp
由于權(quán)限限制,不能免ssh密碼拷貝,會(huì)要求輸入B機(jī)器的密碼。本想直接在bash文件中使用Pexpect 來(lái)實(shí)現(xiàn)自動(dòng)輸入密碼,并scp拷貝文件,但是權(quán)限的限制導(dǎo)致不能安裝使用Pexpect 。
最后考慮使用python實(shí)現(xiàn)。
環(huán)境:
python2.7 centos from pexpect import * import os cwd = os.path.split(os.path.abspath(__file__))[0] child = spawn("scp -P 1000 192.168.199.5:/temp/data {cwd}".format(cwd=cwd)) child.expect ("password") child.sendline ("password-for-B ") child.read()
在網(wǎng)上查到的一些資料中,一般都會(huì)少child.read(), 這將使得,scp輸入了正確密碼,完成鏈接,但是服務(wù)器沒(méi)有將拷貝的數(shù)據(jù)文件讀取到服務(wù)器A上。
想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請(qǐng)關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的Python開發(fā)環(huán)境搭建視頻,Python培訓(xùn)后的前景無(wú)限,行業(yè)薪資和未來(lái)的發(fā)展會(huì)越來(lái)越好的,扣丁學(xué)堂老師精心推出的Python視頻直播課定能讓你快速掌握Python從入門到精通開發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂Python技術(shù)交流群:279521237。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于"Python開發(fā)資訊"的相關(guān)文章>