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()
(带有
将自动为您执行此操作)