04-14-2020 09:30 PM
This is my code
from netmiko import ConnectHandler cisco_device = { 'device_type': 'cisco_ios', 'ip': 'R1', 'username': 'u', 'password': 'p' } with open('command.txt') as c: cmd = c.read().splitlines() net_connect = ConnectHandler(**cisco_device) output = net_connect.send_command(cmd) print(output)
command.txt
show clock show version | include IOS
output
user@linux:~$ python script.py Traceback (most recent call last): File "script.py", line 14, in <module> output = net_connect.send_command(cmd) File "/home/user/.local/lib/python3.7/site-packages/netmiko/utilities.py", line 347, in wrapper_decorator return func(self, *args, **kwargs) File "/home/user/.local/lib/python3.7/site-packages/netmiko/base_connection.py", line 1378, in send_command command_string = self.normalize_cmd(command_string) File "/home/user/.local/lib/python3.7/site-packages/netmiko/base_connection.py", line 1532, in normalize_cmd command = command.rstrip() AttributeError: 'list' object has no attribute 'rstrip' user@linux:~$
What should I do to fix this problem?
I tried to change `splitlines` to `split`, but it didn't change anything. Still getting the same error.
Solved! Go to Solution.
04-14-2020 10:17 PM
04-14-2020 11:32 PM - edited 04-14-2020 11:34 PM
with open('command.txt') as c: cmd = c.readlines() # print cmd to see the output print(cmd) for c in cmd: # use strip on a single command before send to the device output = net_conn.send_command(c.strip('\r\n')) print(output)
04-14-2020 10:17 PM
04-14-2020 11:32 PM - edited 04-14-2020 11:34 PM
with open('command.txt') as c: cmd = c.readlines() # print cmd to see the output print(cmd) for c in cmd: # use strip on a single command before send to the device output = net_conn.send_command(c.strip('\r\n')) print(output)
04-15-2020 12:15 AM
Both solution works! Thanks. I wish i can accept both answers.
01-06-2021 09:06 AM
Your Code:
net_connect = ConnectHandler(**cisco_device) output = net_connect.send_command(cmd) print(output)
Another solution:
net_connect = ConnectHandler(**cisco_device) output = net_connect.send_config_set(cmd) print(output)
It work, at least in my case.
Regards
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: