我对python脚本很头疼。你知道吗
它基本上加载一个类似于txt的DNS区域文件,如下所示:
name.com 3600 MX ns1.google.com
name1 3600 A 1.2.3.4
我正在将此文件加载到python中,循环遍历每一行并将每一行转换为一个列表,因此上面的数据如下所示:
[["name.com", "3600", "MX", "ns1.google.com"],["name1","3600","A","1.2.3.4"]] etc
然后我需要获取每个列表并将数据位分配给dict,如下所示:
for each_list in data:
terrarecord[each_list[0].replace('.', '') + str(self.random)] = {
"zone_id": self.zone_id,
"name": each_list[0] + self.url,
"type": each_list[2],
"ttl": each_list[1],
"records": [each_list[3].replace('\n', '')]
}
上面的示例文本文件都很好。但是,如果我有一个区域文件,其中有重复的条目,比如下面的条目,那么这个循环会在它们上面进行写操作,从而造成各种各样的破坏。你知道吗
name.com 3600 MX ns1.google.com
name1 3600 A 1.2.3.4
name1 2000 A 1.2.2.2 # <--- this will overwritten
如何编写这个循环,使它每次都创建一个新的dict对象,而不是在现有字典上编写?你知道吗
我想到的最简单的事情就是使用
defualtdict
和list
。像这样:结果是每个键都将与一个值列表相关联,顺序与输入的顺序相同。如果你特别需要一个普通的dict,你可以这样转换它:
相关问题 更多 >
编程相关推荐