第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有簡單的方法可以消除使用Python的Paramiko庫進(jìn)行SSH并從遠(yuǎn)程計算機(jī)的CLI

有沒有簡單的方法可以消除使用Python的Paramiko庫進(jìn)行SSH并從遠(yuǎn)程計算機(jī)的CLI

SMILET 2019-10-22 22:11:06
我正在使用Python的Paramiko庫通過SSH遠(yuǎn)程計算機(jī)并從命令行獲取一些輸出。我看到大量垃圾打印以及實際輸出。如何擺脫這個?chan1.send("ls\n")output = chan1.recv(1024).decode("utf-8")print(output)[u'Last login: Wed Oct 21 18:08:53 2015 from 172.16.200.77\r', u'\x1b[2J\x1b[1;1H[local]cli@BENU>enable', u'[local]cli@BENU#Configure',我想從輸出中消除[2J \ x1b [1; 1H和 u]。他們是垃圾。
查看完整描述

2 回答

?
慕運維8079593

TA貢獻(xiàn)1876條經(jīng)驗 獲得超5個贊

這不是垃圾。這些是ANSI轉(zhuǎn)義碼,通常由終端客戶端解釋以漂亮地打印輸出。


如果服務(wù)器配置正確,則只有在使用交互式終端時,換句話說,如果您為會話請求了偽終端(如果要使會話自動化,則不應(yīng)該這樣做),您將獲得這些信息。


如果您使用了,則Paramiko會自動請求偽終端,SSHClient.invoke_shell因為這應(yīng)該用于實現(xiàn)交互式終端。另請參見如何在Python Paramiko中啟動沒有終端仿真的shell?


如果自動執(zhí)行遠(yuǎn)程命令,則最好使用SSHClient.exec_command,默認(rèn)情況下不會分配偽終端(除非您用get_pty=True參數(shù)覆蓋)。


stdin, stdout, stderr = client.exec_command('ls')

或作為一種解決方法,請參閱如何從python中的字符串中刪除ANSI轉(zhuǎn)義序列。


雖然那只是一個hack,可能還不夠。交互式終端可能會遇到其他問題,不僅是轉(zhuǎn)義序列。


您可能對“ Last login”消息和命令提示符(cli@BENU>)都不感興趣。您不會用來獲得這些exec_command。


最后,這u不是實際字符串值的一部分(請注意,它不在引號內(nèi))。這表明字符串值采用Unicode編碼。你想要那個!


查看完整回答
反對 回復(fù) 2019-10-22
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗 獲得超4個贊

這實際上不是垃圾。該u字符串之前表示這是一個Unicode字符串。該\x1b[2J\x1b[1;1H是一個轉(zhuǎn)義序列。我不知道該怎么做,但是在我打印出來時似乎可以清除屏幕。


要了解我的意思,請嘗試以下代碼: 

for string in output:

    print string


查看完整回答
反對 回復(fù) 2019-10-22
  • 2 回答
  • 0 關(guān)注
  • 1047 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號