我要完成的工作:从文件中的行中提取最后 8 个字符,将它们分成两个字符块,将这些块与我的字典进行比较,然后列出结果。这实际上是我在 python 中做的第一件事,我的头在旋转,这里有所有的答案。
我想我需要基本的游泳指导,每一个答案似乎都是自由潜水世界纪录的入门。
我正在使用以下代码(现在我将 h1 到 h4 注释掉,因为它没有返回我字典中的键):
d1 = {'30': 0, '31': 1, '32': 2, '33' : 3, '34': 4, '35': 5, '36': 6, '37': 7, '38': 8, '39': 9,
'41': 'A', '42': 'B', '43': 'C', '44': 'D', '45': 'E', '46': 'F'}
filename = raw_input("Filename? > ")
with open(filename) as file:
for line in iter(file.readline, ''):
h1 = line[-8:-6]
h2 = line[-6:-4]
h3 = line[-4:-2]
h4 = line[-2:]
#h1 = d1[h1]
#h2 = d1[h2]
#h3 = d1[h3]
#h4 = d1[h4]
print h1,h2,h3,h4
这是我用作输入的 txt 文件的一部分:
naa.60000970000192600748533031453442
naa.60000970000192600748533031453342
naa.60000970000192600748533031453242
naa.60000970000192600748533031453142
naa.60000970000192600748533031434442
naa.60000970000192600748533031434342
naa.60000970000192600748533031434242
naa.60000970000192600748533032363342
当我运行我的脚本时,这是上面代码生成的输出:
14 53 44 2
14 53 34 2
14 53 24 2
14 53 14 2
14 34 44 2
14 34 34 2
14 34 24 2
32 36 33 42
最后一行看起来完全符合我的预期。所有其他行已移动或丢失字符。我为此不知所措......我尝试了许多不同的方法来在 python 中打开文件,但无法让它们循环通过,或者有其他问题。
我在这里缺少一个简单的解决方法吗?谢谢,j