我有一個輸出IP列表的函數。Python - 爲循環輸出寫入文件
def convertHostNamesToIps(hostnames):
ip = server.system.search.hostname(sessionKey, hostnames)
for ips in ip:
print (ips.get('ip'))
輸出通常看起來像 下面是CSDP_LAB_STAGING
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
的IP地址現在我想寫這個輸出到文件。
我所做的是
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
。我以爲我可能會搞砸這個縮進,但是這個幫助我。還有什麼我失蹤?
P.S.這是我的第一個Python腳本,所以如果我做了非常愚蠢的事情,請原諒我。
這太過於複雜。一般來說,請閱讀關於'open'函數和文件對象的Python文檔(尤其是'write'方法)。 – ForceBru
@ForceBru說什麼。這應該通過自己的「開放」來完成。但是如果你想忽略所有的警告,其他人都會直接給你sys.stdout .....只要把sys.stdout.flush()放在sys.stdout.close() – TehTris