用python排序文本文件



假设我有一个食谱格式的文本文件:

标题:Michigan Pie:

材料:8盎司奶油奶酪1罐加糖炼乳1/4 c柠檬汁15盎司菠萝碎8盎司生奶油

说明:将菠萝沥干水分。将奶油芝士打至非常光滑。每次加入一点甜炼乳时间。加入柠檬汁和菠萝。加入鲜奶油。将混合物倒入两个全麦饼干派皮中,冷藏。

我怎么能使用Python排序所有的标题在一起,所有的成分在一起等?? ?

初始化一个有三个键的字典:TITLE, INGREDIENTS, DIRECTIONS。

解析文本文件。每当找到其中一个键时,将其下方的文本添加到字典中相应的键值对中。当看到另一个粗体键时停止并继续解析。

例如,如果你想要一个标题列表,而不是一个很长很长的字符串,可以使用一个包含列表的字典。

data = {'TITLE':[], 'INGREDIENTS':[], 'DIRECTIONS':[]}

1)加载所有文件,解析它们并将它们放入字典列表

2)按你想要的方式对列表排序(参见如何在Python中按字典的值对字典列表排序?)

假设食谱列表在recipe.txt中,并且标题总是用冒号分隔,下面的代码为您提供字典。

with open('recipe.txt') as recipe:
  g = ( line.split(':',1) for line in recipe )
  g = ( (i[0],i[1:]) for i in g if len(i)>1 )
  d = dict()
  for k,v in b:
    d[k] = d.get(k,[]) + v

现在按你喜欢的方式排序。

最新更新