3 回答

TA貢獻1793條經驗 獲得超6個贊
像這樣讀取文件:
with open(filename, 'r') as f:
for line in f:
#do something
如果每一行都有每個項目,例如:“名稱,評級,價格,美食,結束”,則您可以使用split獲取項目,
如果內容行類似于:“名稱\n 評級\n 價格\n 美食\n 結束”,這可能是作品
with open(filename, 'r') as f:
for idx, line in enumerate(f):
line = line.strip('\n')
if idx % item_nums == 0:
name_list.append(line)
# other case

TA貢獻1829條經驗 獲得超6個贊
line
指文檔的第一行。如果它不是空字符串,它將始終為真,除非更改。要為每個新行更改它,您只需將 放在line = file.readline()
while 循環的末尾
請注意,這file.readlines()
會將每一行讀取file
到一個列表中。file.readlines().splitlines()
可以為你脫衣

TA貢獻1801條經驗 獲得超8個贊
更節省的方法是:
name_list = []
rating_list = []
price_list = []
cuisine_list = []
end_list = []
filename = '/Users/anqixiao/Desktop/restaurant recommendation/restaurants_small.txt'
with open (filename, 'r') as file:
lines = file.readlines()
for line in lines:
if line != '':
name_list.append(line.strip('\n'))
rating_list.append(line.strip('\n'))
price_list.append(line.strip('\n'))
cuisine_list.append(line.strip('\n'))
end_list.append(line.strip('\n'))
使用它,您允許文件有空行并跳過它們。但正如我在評論中所述,您的實際問題是一個永無止境的 while 循環。
添加回答
舉報