将结果转储到与变量同名的文本文件中

时间:2017-08-30 16:35:37

标签: python automation python-3.5

我正在尝试使用PT24H03M55S编写一个代码,该代码将执行少量Show命令,并将结果保存到名为variable的文本文件中(这里是IP)。

例如,如果我插入IP 8.8.8.8,我希望将结果保存到名为8.8.8.8的文本文件中。有什么想法吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

由于SwIp变量似乎包含IP地址(作为字符串),您可以通过略微更改open()文件的方式来实现。

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

注意我在写入文件的数据中添加了一个尾随换行符,并删除了代码中不必要的f.close()with会自动为您执行此操作)。