Я использую python 3 на windows 10 У меня проблема с использованием библиотеки wexpect. Вывод wexpect не содержит разрывов строк. Я много искал, и некоторые люди предлагают декодировать вывод, однако это здесь не применимо в качестве выходных данных child.before - строка, а не байт
, поэтому, если у кого-либо есть решение этой проблемы, пожалуйста, помогите
import wexpect
ip = "172.25.120.1"
try:
child = wexpect.spawn('ssh -l cisco {}'.format(ip))
prompt = child.expect(['[pP]assword:', r'yes/no'])
if prompt == 0:
child.sendline('cisco')
elif prompt == 1:
child.sendline("yes")
child.expect("[pP]assword:")
child.sendline('cisco')
child.expect('>')
child.sendline('enable')
child.expect('[pP]assword:')
child.sendline('cisco')
child.expect('#')
child.sendline('show ip inter brief | in Tunne|Seria|Ether')
child.expect('#')
Lines = child.before
print(Lines)
except wexpect.TIMEOUT:
print('{} connection time out'.format(ip))
except wexpect.EOF:
print('{} connection problem'.format(ip))
Output
show ip inter brief | in Tunne|Seria|Ether
GigabitEthernet0/0/0 172.25.120.1 YES NVRAM up up GigabitEthernet0/0/0.2 unassigned YES unset up up GigabitEthernet0/0/0.3 unassigned YES unset up up GigabitEthernet0/0/1 unassigned YES NVRAM up up GigabitEthernet0/0/1.1 172.39.140.14 YES NVRAM up up Tunnel1
172.76.84.90 YES NVRAM up up gtrouh_Router