我必须从 .txt 文件中为购物清单构建一个函数,如下所示:
milk
cheese
bread
hotdog buns
chicken
tuna
burgers
等等。从上面的列表中,我的购物清单应该看起来像[['milk', 'cheese'], ['bread', 'hotdog buns'], ['chicken', 'tuna', 'burgers']]
,所以当文本文件中的项目之间有空格时,列表中的项目被分隔开。
我必须使用.readline()
,我不能使用.readlines(), .read()
,或者for
循环。我的代码现在创建一个空列表:
def grocery_list(foods):
L = open(foods, 'r')
food = []
sublist = []
while L.readline() != '':
if L.readline() != '\n':
sublist.append(L.readline().rstrip('\n'))
elif L.readline() == '\n':
food.append(sublist)
sublist = []
return food
我不知道哪里出了问题,所以它返回一个完全空的列表。我也不确定''
and'\n'
部分;我正在使用的示例测试文件在 shell 中打开时如下所示:
milk\n
cheese\n
\n
...
''
''
但是对于每个列表.rstrip()
是否!= ''
有意义?还是我什至没有走在正确的轨道上?