【发布时间】:2017-08-26 03:24:01
【问题描述】:
我有一个输出 IP 列表的函数。
def convertHostNamesToIps(hostnames):
ip = server.system.search.hostname(sessionKey, hostnames )
for ips in ip:
print (ips.get('ip'))
输出通常看起来像 以下是 CSDP_LAB_STAGING 的 IP
172.29.219.123
172.29.225.5
172.29.240.174
172.29.225.46
172.29.240.171
172.29.240.175
172.29.219.119
172.29.219.117
172.29.219.33
172.29.219.35
.
.
.
172.29.219.40
172.29.219.35
172.29.219.40
172.29.219.118
172.29.219.121
172.29.219.115
172.29.225.51
现在我想将此输出写入文件。
我所做的是
def convertHostNamesToIps(hostnames):
ip = server.system.search.hostname(sessionKey, hostnames )
sys.stdout=open("test.txt","w")
for ips in ip:
print (ips.get('ip'))
sys.stdout.close()
但上面的代码只将最后一个 IP 写入test.txt。我以为我可能会弄乱缩进,但这对我有帮助。还有什么我想念的吗?
附:这是我的第一个 python 脚本,如果我做了一些非常愚蠢的事情,请原谅我。
【问题讨论】:
-
这太复杂了。请阅读有关
open函数和一般文件对象的Python 文档(尤其是write方法)。 -
@ForceBru 说了什么。这应该通过
open自己完成。但是,如果您想忽略所有警告,其他人都会给您直接弄乱 sys.stdout ..... 只需将sys.stdout.flush()放在sys.stdout.close()的正上方
标签: python