PY3从.py文件导入dict,如果密钥不存在,我该如何更新dict


def Update_Dict(TID):
print ("need IP for %s" %(TID) )
IP = input ("IP - ")
Hosts.NE_IP.append["%s"%(TID) , "%s" %(IP)]

return TID, IP
with open(file,"r") as fh:
for lines in fh:
if not lines.strip():
continue
else:
EXP_Rate, param = lines.strip().split("/")
TID, SH_SL_PT = param.split(",")
if TID in NE_IP:
IP = Hosts.NE_IP["%s" %(TID)]
pass
else:
TID, IP = Update_Dict(TID)
UID = Hosts.CREDS["UID"]
PWD = Hosts.CREDS["PWD"]

with open("%sReport.txt" %(Dir_Path), "a") as fReport:
fReport.write("%s-%sn" %(TID, IP) )
fReport.write("%s-%snn" %(UID, PWD) )

这样做的目的是,我有一个主机列表,我想登录并在上面运行命令。最初,我将文本板输入文件设置为rate/UID、PWD、HostName、IP、SH-SL-PT,并希望将其更改为rate/HostName、SH-SL-PT,因为UID和PWD都是相同的,而不是每次都输入IP,而是希望将HostName和IP放在dict中。按照现在的方式,如果密钥不存在,它确实会询问IP,并按照应该的方式打印出来。

如何使用新密钥:value更新.py文件dict?

对不起,您的代码片段不是很清晰和可复制,但对于

如果密钥不存在,则更新dict

答案是使用collections.defaultdict.

您可以设置默认值,如None或空字符串或任何对象工厂,然后修改/访问对象,无论之前是否设置了键。

最新更新