我试图将json格式文件jadata dic(每行都是一个字典)中的键“rrname”的值与已加载到内存中的字典d的键进行比较
这是我的密码: 导入simplejson
ap = '/data/data/2014/A.1/ap.txt'
ddb = '/data/data/2014/A.1/test'
d={}
f = open(ap,'r')
g = open(ddb,'r')
for line in f:
domain,bl_date= line.split('|')
d[domain]=bl_date
for line in g:
line=line.strip('')
try:
jdata = simplejson.loads(line)
if jdata.get('rrname') == d.keys():
print rrname
except:
raise
这是我的ddb文件:
{"rrname": "bba186684.alshamil.net.ae.", "time_last": 1389295255, "time_first": 1389241418, }
{"rrname": "bba186686.alshamil.net.ae.", "time_last": 1390910891, "time_first": 1390910891}
{"rrname": "0001ewm.rcomhost.com", "time_last": 1390147425, "time_first": 1390124988}
以下是ap文件:
0001elk.rcomhost.com|1391726703
0001ewm.rcomhost.com|1393472522
0001qz6.wcomhost.com|1399977648
当我运行这段代码时,它找不到相似之处,尽管有相似之处。有人能帮我吗
总是会失败
==
左边的单个条目不等于右边的所有条目相反,检查是否:
in
运算符查找左侧是否包含在右侧。使用d
,而不是d.keys()
作为右侧对性能很重要,因为在字典中检查包含比在列表中检查要快得多(就像在python2中.keys
,我猜这就是您正在使用的,即使您没有告诉我们!,基于print
:-)的语法相关问题 更多 >
编程相关推荐