2017-08-30 67 views
0

我试图使用netmiko编写代码,它将执行几个Show命令并将结果保存到变量名称为IP的文本文件中(这里是IP )。将结果转储到与变量名称相同的文本文件中

例如,如果我插入IP 8.8.8.8我想将结果保存到名称为8.8.8.8的文本文件中。有任何想法吗?

回答

1

的问题是,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]) 
1

由于SwIp变量似乎包含IP地址(如字符串),您可以通过稍微改变你如何open()文件做到这一点。

with open(SwIp, 'wb') as f: 
    f.write(str(pre_r)+'\n') 

注意我添加了一个换行符写入到文件中的数据,并删除在代码中不必要的f.close()(该with会自动为你做的)。

相关问题