【发布时间】:2013-04-21 01:22:40
【问题描述】:
我有一个包含以下数据的纯文本文件:
id=1
name=Scott
occupation=Truck driver
age=23
id=2
name=Dave
occupation=Waiter
age=16
id=3
name=Susan
occupation=Computer programmer
age=29
我正在尝试找出在给定id 字符串的情况下到达文件中任何点的最佳方法,然后抓取下面的行以提取数据以在我的程序中使用。我可以这样做:
def get_person_by_id(id):
file = open('rooms', 'r')
for line in file:
if ("id=" + id) in line:
print(id + " found")
但我不确定我现在如何通过下一行并执行line.split("=") 或类似操作来提取我可以使用我的程序的信息(放入列表或字典或其他任何内容)。有什么指点吗?
【问题讨论】:
-
每个 ID 的所有数据是否都可用,或者某些记录的信息可能比其他记录少?
-
很大程度上取决于您对格式的了解。每个条目总是4行吗?可以有其他的钥匙吗?基本上,你可以多次拨打
file.readline()。 -
你能/愿意改变文件格式吗?如果可以的话,你可以使用 csv 模块。见这里:docs.python.org/2/library/csv.html。也许您也可以让 csv 模块也适用于这种情况。
标签: python