亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Python 中編寫有效的 readline 代碼

如何在 Python 中編寫有效的 readline 代碼

慕容708150 2021-12-21 16:26:23
嘗試從 txt 文件中一次打開和讀取一行,同時收集信息并在我進行時建立列表。所以我有一些看起來像這樣的東西:name_list = []rating_list = []price_list = []cuisine_list = []end_list = []filename = '/Users/anqixiao/Desktop/restaurant recommendation/restaurants_small.txt'file = open(filename, 'r')line = file.readline()while 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'))file.close()但是,當我手動進入 while 循環時,Python Shell 已經停止響應。有人可以闡明我哪里出錯了嗎?我真的很感激!
查看完整描述

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


查看完整回答
反對 回復 2021-12-21
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

line指文檔的第一行。如果它不是空字符串,它將始終為真,除非更改。要為每個新行更改它,您只需將 放在line = file.readline()while 循環的末尾

請注意,這file.readlines()會將每一行讀取file到一個列表中。file.readlines().splitlines()可以為你脫衣


查看完整回答
反對 回復 2021-12-21
?
蝴蝶刀刀

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 循環。


查看完整回答
反對 回復 2021-12-21
  • 3 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號