将 show 命令的输出保存到网络设备时出现问题
issue with saving output of show commands to a network device
我正在通过 txt 文件向路由器发送命令(显示 1、显示 2、显示 3)。我的代码按预期将输出打印到控制台,但是当我尝试将其保存到另一个 txt 文件时,它只保存 "show 3" 命令
的输出
=====================代码:================
from netmiko import Netmiko
from getpass import getpass
cisco1 = {
"host" :"192.168.100.1",
"username" : "XXXXX",
"password": "XXXXX",
"device_type" : "cisco_ios",
}
net_connect = Netmiko(**cisco1)
print(net_connect.find_prompt())
with open("conf.txt", "r") as f:
for lines in f:
lines = f.readline()
output = net_connect.send_command(lines)
with open("cmdoutput.txt", "w") as nf:
nf.write(output)
print(output)
net_connect.disconnect()
迭代文件产量线。通过显式调用 readline()
,代码每隔几行就会跳过一次。
for lines in f:
lines = f.readline() # <----
output = net_connect.send_command(lines)
删除 readline()
个调用。
代码在循环内打开输出文件。它将覆盖现有文件。您应该打开一次输出文件。
...
with open("conf.txt", "r") as f, open("cmdoutput.txt", "w") as nf:
for line in f:
output = net_connect.send_command(line)
nf.write(output)
...
顺便说一句,lines
应该是 line
。
我正在通过 txt 文件向路由器发送命令(显示 1、显示 2、显示 3)。我的代码按预期将输出打印到控制台,但是当我尝试将其保存到另一个 txt 文件时,它只保存 "show 3" 命令
的输出=====================代码:================
from netmiko import Netmiko
from getpass import getpass
cisco1 = {
"host" :"192.168.100.1",
"username" : "XXXXX",
"password": "XXXXX",
"device_type" : "cisco_ios",
}
net_connect = Netmiko(**cisco1)
print(net_connect.find_prompt())
with open("conf.txt", "r") as f:
for lines in f:
lines = f.readline()
output = net_connect.send_command(lines)
with open("cmdoutput.txt", "w") as nf:
nf.write(output)
print(output)
net_connect.disconnect()
迭代文件产量线。通过显式调用
readline()
,代码每隔几行就会跳过一次。for lines in f: lines = f.readline() # <---- output = net_connect.send_command(lines)
删除
readline()
个调用。代码在循环内打开输出文件。它将覆盖现有文件。您应该打开一次输出文件。
...
with open("conf.txt", "r") as f, open("cmdoutput.txt", "w") as nf:
for line in f:
output = net_connect.send_command(line)
nf.write(output)
...
顺便说一句,lines
应该是 line
。