如何将数据作为字典存储在具有n个属于不同项的条目的文本文件中

时间:2017-07-01 16:59:53

标签: python list python-3.x dictionary

我有一个包含n人记录的文件,如下所示。

#!/usr/bin/python3

print('Please enter the absolute path of the file')

path = input()
i = 0
my_dict = {}
content = open(path)
contentEntries = content.readlines()
for entries in contentEntries:
if entries != 'EOM':
    entries[i] = entries.split('=')
    i = i + 1
    my_dict['entries[i][0]'] = 'entries[i][1]'
else:
    break

我需要在python中编写一个代码,输入和输出如下所示

输入: uid = 15762gfyz 输出: 年龄= 25

如果每个人的记录都在一个文件中,但是这里文件包含n个不同的记录,我可以这样做。文件作为代码的输入提供,因此没有人工干预。我不确定如果这可以使用二维列表或字典来实现。

我已尝试过代码

userRef

有人可以帮我解释一下存储文件的逻辑,然后将其与给定的输入进行比较,以提供相应的输出。

2 个答案:

答案 0 :(得分:0)

import itertools

with open('foo.txt') as f:
    entities = f.read().splitlines()

parsed_entities = []
while entities:
    props = itertools.takewhile(lambda n: n != 'EOM', entities)
    entity = dict(p.split('=') for p in props)
    entities = entities[len(entity)+2:]  # Delete and skip EOM & newline
    parsed_entities.append(entity)

答案 1 :(得分:0)

@gahan

#!/usr/bin/python3

print('Please enter the absolute path of the file')

path = input()
i = 0
my_dict = {}
content = open(path)
contentEntries = content.readlines()
for entries in contentEntries:
   if entries != 'EOM':
      entry[i] = entries.split('=')
      i = i + 1
      my_dict['entry[i][0]'] = 'entry[i][1]'
   else:
      break