Привет.
Я понимаю, что питон не оболочка.Я использую этот проект как оправдание, чтобы получить толчок в Python, хотя.Но я застрял.Код ниже со встроенными вопросами
Если это имеет значение, я работаю в ноутбуке jupyter на python 3. Что-то на коммутаторах centos7 и cisco 3650.
import sys,re
import os
import io
import subprocess
from netmiko import ConnectHandler
# trying to replicate this:
# ssh -q super@cisco1 "show ver" | grep -i "Cisco IOS Software" | sed -n -e 's/^.*Version //p' | sed -n -e 's/\,.*//p'
# [output is, in this case]
# 16.3.5b
platform = 'cisco_ios'
host = 'cisco1'
username = 'super'
password = 'sillypassword'
device= ConnectHandler(device_type=platform, ip=host, username=username, password=password)
out_version=device.send_command('show version')
# here's where I would do a
# grep -i "Cisco IOS Software" | sed -n -e 's/^.*Version //p' | sed -n -e 's/\,.*//p'
#
# However I understand that python doesn't 'pipe' like shell does so I need
# embedded loops (right?). But I don't understand how to do
# embedded loops with a stream of text that will be coming out
# of the device.send_command, and then save -that- into the
# variable out_version.
device.disconnect()
Я пробовалколичество подходов, popens, подстрок, каждый из которых становится все более уродливым.Даже обстреливая и записывая файл с результатом, затем читая вывод трубы grep / sed обратно (это было ужасно).Должен быть более простой способ.Может кто-нибудь направить меня в правильном направлении?
Большое спасибо.