从txt读取多行并在Python中存储到多个列表

从txt读取多行并在Python中存储到多个列表,python,readline,Python,Readline,我有一个txt文件,每行有多个字符串,如下所示: Hamburger: Ground Beef, Onion, Tomato, Bread, Ketchup Pesto_Chicken: Chicken, Peppers, Pasta, Pesto Surf_and_Turf: Steak, Fish 我想把它读入我的程序,并为每一行创建一个列表。理想情况下,使用每行的第一个单词(如汉堡等)作为列表名,但这并不重要。我只需要把每一行都放到它自己的列表中。到目前为止,我可以读入并打印到控制台,但

我有一个txt文件,每行有多个字符串,如下所示:

Hamburger: Ground Beef, Onion, Tomato, Bread, Ketchup
Pesto_Chicken: Chicken, Peppers, Pasta, Pesto
Surf_and_Turf: Steak, Fish
我想把它读入我的程序,并为每一行创建一个列表。理想情况下,使用每行的第一个单词(如汉堡等)作为列表名,但这并不重要。我只需要把每一行都放到它自己的列表中。到目前为止,我可以读入并打印到控制台,但不知道如何存储为列表

filepath = 'recipes.txt'
with open(filepath) as fp:
   line = fp.readline()
   cnt = 1
   while line: 
       print("Line {}: {}".format(cnt, line.strip()))
       line = fp.readline()
       cnt += 1
第一步:按冒号分割部分=行。分割“:” 第二个:用逗号分割第二个部分以获得食物列表。\u list=parts[1]。拆分',' 最后一步:把所有的内容都写进一篇口述
尝试一下split方法,它正好满足您的需要

获取第一个单词作为标题:

parts = line.split(":")
title = parts[0]
然后列出其他单词:

words_list = parts[1].split(", ")

列表没有名称。字典有钥匙。您能显示所需的输出吗?谢谢!这是有道理的,但我还是有一些错误。我看到foods矩阵已创建,但第6行foods_list=parts[1]处有一个索引器:list index超出范围。拆分“:”错误消息与上面代码的第6行不匹配。在未修改的状态下,它针对输入成功运行。
words_list = parts[1].split(", ")