Python 将结果转储到与变量同名的文本文件中
我正在尝试使用Python 将结果转储到与变量同名的文本文件中,python,automation,python-3.5,Python,Automation,Python 3.5,我正在尝试使用netmiko编写一个代码,它将执行一些Show命令,并将结果保存到名为variable(这里是IP)的文本文件中 例如,如果我插入IP 8.8.8.8,我希望将结果保存到名为8.8.8.8的文本文件中。有什么想法吗?问题是print返回None,您将pre\u r设置为该print调用的返回值: pre_r = print(connection.send_command(command)) 相反,将pre_r设置为与数据相等,并将print设置为: for command in
netmiko
编写一个代码,它将执行一些Show命令,并将结果保存到名为variable(这里是IP)的文本文件中
例如,如果我插入IP 8.8.8.8,我希望将结果保存到名为8.8.8.8的文本文件中。有什么想法吗?问题是
print
返回None
,您将pre\u 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 open(SwIp, 'wb') as f:
f.writelines([connection.send_command(cmd) for cmd in commands])
问题是print
返回None
,您将pre\u 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 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()
(带有的将自动为您执行此操作)。由于SwIp
变量似乎包含IP地址(作为字符串),您可以通过稍微更改open()的方式来执行此操作
文件
with open(SwIp, 'wb') as f:
f.write(str(pre_r)+'\n')
注意:我在写入文件的数据中添加了一个尾随换行符,并删除了代码中不必要的f.close()
(带有的将自动为您执行此操作)