Как напечатать или вернуть только выходные данные команды te lnet, а не весь вывод read_all в python? - PullRequest
0 голосов
/ 06 марта 2020

Вот код, который у меня есть:

import sys
import telnetlib
import time
host = "127.0.0.1"
tn = telnetlib.Telnet(host,13256)
tn.read_until(b"Username:")
tn.write("admin" + "\n")
tn.read_until(b"Password: ")
tn.write("password" + "\n")
tn.read_until(b">")
tn.write("cluster lrm res sum | grep stop" + "\n")
time.sleep(5)
tn.write("cluster lrm res sum | grep error" + "\n")
time.sleep(5)
tn.write("exit\n")
i=tn.read_all().decode('ascii')
print i

Это приводит к:

[Cluster] admin@telnet:127.0.0.1;46906
> cluster lrm res sum | grep error

[Cluster] admin@telnet:127.0.0.1;46906
>

Но когда вывод 2 greps пуст, я не не хочу ничего возвращать. Как мне это сделать?

...