python文本文件变量搜索

python文本文件变量搜索,python,Python,我有一个像这样的文本文件 Apples: 01, Oranges: 33, Grapes: 07, Plums: 15 我想做的是有一个函数,它可以检查文本文件中是否有所需的字符串,然后在其旁边拉取正确的数量。到目前为止我有 def get_numbers(fruit) if fruit in open('example.txt'): #this is where im stuck on getting the correct value # if grapes were

我有一个像这样的文本文件

Apples: 01, Oranges: 33, Grapes: 07, Plums: 15
我想做的是有一个函数,它可以检查文本文件中是否有所需的字符串,然后在其旁边拉取正确的数量。到目前为止我有

def get_numbers(fruit)
  if fruit in open('example.txt'):
    #this is where im stuck on getting the correct value
    # if grapes were passed, how will i obtain 07?
  else:
    print 'some type of error'

我建议您构建一个字典,将水果名称映射到数量,然后从那里开始

>>> with open('example.txt') as f:
...     result = {k:int(v) for k,v in re.findall('([^:\s]+):\s*(\d+)', f.read())}
... 
>>> result
{'Grapes': 7, 'Plums': 15, 'Apples': 1, 'Oranges': 33}
>>> 'Grapes' in result
True
>>> 'Bananas' in result
False
>>> result['Grapes']
7    
example.txt包含以下内容:

苹果:01,橘子:33,葡萄:07,李子:15


用谷歌搜索单词解析。这会转换成字典,但当我调用result['grapes']时,我会得到grapes新行7,更不用说我的代码中有一个print语句,我没有删除它。