我试图使用netmiko
编写代码,它将执行几个Show命令并将结果保存到变量名称为IP的文本文件中(这里是IP )。将结果转储到与变量名称相同的文本文件中
例如,如果我插入IP 8.8.8.8我想将结果保存到名称为8.8.8.8的文本文件中。有任何想法吗?
我试图使用netmiko
编写代码,它将执行几个Show命令并将结果保存到变量名称为IP的文本文件中(这里是IP )。将结果转储到与变量名称相同的文本文件中
例如,如果我插入IP 8.8.8.8我想将结果保存到名称为8.8.8.8的文本文件中。有任何想法吗?
的问题是,print
回报None
,和你设置pre_r
等于print
调用的返回值:
pre_r = print(connection.send_command(command))
相反,设置pre_r
等于数据,并print
,与其:
for command in commands:
pre_r = connection.send_command(command)
print(pre_r)
with open(SwIp, 'wb') as f:
f.write(pre_r)
您还可能要将for
循环移至with
声明中:
with open(SwIp, 'wb') as f:
f.writelines([connection.send_command(cmd) for cmd in commands])
由于SwIp
变量似乎包含IP地址(如字符串),您可以通过稍微改变你如何open()
文件做到这一点。
with open(SwIp, 'wb') as f:
f.write(str(pre_r)+'\n')
注意我添加了一个换行符写入到文件中的数据,并删除在代码中不必要的f.close()
(该with
会自动为你做的)。