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语句,我没有删除它。