cancel
Showing results for 
Search instead for 
Did you mean: 

Getting clean output from Extreme switch CLI using Python

Getting clean output from Extreme switch CLI using Python

Marvel_King
New Contributor
I am writing a python script to run some show commands on Extreme switches and storing output in a variable. I am able to accomplish that but the output is not as I would like. I am seeing the command and also switch name in my output but I would like to just see the result of my show command and nothing else.

This is what I am seeing:

print "ISC Port is: ", ISC

ISC Port is: sh vlan ISC | i Tag:
Tag: 1:1g
Ext-SW1.com.5 #

This is what I would like to see:

ISC Port is: Tag: 1:1g

Here is my code where I am reading output:

ISC = "sh vlan ISC | i Tag:"

tn.write(ISC + "\n")
idx, obj, output = tn.expect(["\.\r\n\r\*"], int(timeout))
print "ISC Port is: ", outputHow do I get rid of device name and my commands from output to show only output. I played around with "read_until" but can't seem to get it cleaned up. Example:

tn.write(ISC + "\n")
tn.read_until(".2 #")
idx, obj, output = tn.expect(["\.\r\n\r\*"], int(timeout))
print "ISC Port is: ", outputAny help will be appropriated.

7 REPLIES 7

Ed_McGuigan1
New Contributor III
It's important to be using a good regex tool to cut down time on developing the right regex. There are lot's of good tools out there. I paid for an app regexbuddy but there is also https://regex101.com/ that has python support and a very nice interface.

Marvel_King
New Contributor
I am already using regex to extract what I need but I was hoping there is a cleaner way. My regex is not pretty due to all extra junk I am scrapping.

BrandonC
Extreme Employee
Since JSONRPC isn't available, I'd probably use regex to pull out the specific part you are looking for. I put together a quick example below:
import re output = 'sh vlan ISC | i Tag:\nTag: 1:1g\nExt-SW1.com.5 #' p = re.compile('(Tag:\s*\d:\dg?)') m = p.search(output) output = m.group(1) print output
This won't work for non-stacks, but it should give you an idea.

And for what it returns:
bash-3.2$ python regex.py Tag: 1:1g
GTM-P2G8KFN