我有以下Key Value
格式的文本文件
--START--
FirstName Kitty
LastName McCat
Color Red
random_data
Meow Meow
--END--
我想将文本中的特定值提取到变量或字典中。例如,如果我要提取
LastName
和Color
的值,什么是最好的方法?random_data
可以在文件中的任何位置,并且跨多行。我已经考虑过使用正则表达式,但是我担心性能和可读性,因为在真实代码中,我需要提取许多不同的键。
我还可以遍历每行并检查每个键,但是当有10个以上的键时,这很混乱。例如:
if line.startswith("LastName"):
#split line at space and handle
if line.startswith("Color"):
#split line at space and handle
希望有一些清洁的东西
最佳答案
tokens = ['LastName', 'Color']
dictResult = {}
with open(fileName,'r') as fileHandle:
for line in fileHandle:
lineParts = line.split(" ")
if len(lineParts) == 2 and lineParts[0] in tokens:
dictResult[lineParts[0]] = lineParts[1]