Píšem program v Pythone 2.7, ktorý vytvára pripojenie SSH a vygeneruje výsledky zadaného príkazu. Funguje to v poriadku, ale chcem skryť rýchly výstup, alebo alternatívne existuje spôsob ako eliminovať potrebu rýchleho?
Toto je môj kód zodpovedný za výstup:
if cmd == "!":
print ("Connection terminated.")
self.session.logout()
sys.exit(0)
else:
self.session.sendline(cmd)
with suppress_stdout():
self.session.prompt()
return self.session.before
Vzorový výstup (chcem sa zbaviť druhého "ls"):
-> ls
ls
bin dev initrd.img lib32 lost+found opt run sys var
boot etc initrd.img.old lib64 media proc sbin tmp vmlinuz
cdrom home lib libx32 mnt root srv usr vmlinuz.old
->
odpovede:
0 pre odpoveď č. 1Príkaz pexcept () je špeciálnym prípadomokrem (), ktorá rozpoznáva väčšinu typov rýchlych identifikátorov. self.session.before bolo všetko medzi najnovšie používané výzva a prompt, ktoré majú byť použité; inými slovami, bral to zadaný príkaz a výstup. Aby ste sa zbavili opakovaného príkazu, odstráňte prvé slovo reťazca. Urobil som to rozdelením reťazca do zoznamu a následným vytlačením všetkého okrem prvého prvku v zozname.