我只想讓我的程序讀取文件中的一行,對行中的文本執行一些操作,然后移至下一行,直到文件中的所有行都完成。這是我到目前為止所擁有的:with open(str(filepath), r) as fp:
for line in fp:
rdline = fp.readline()
doSomething(rdline)但是,這不起作用。我應該如何處理這個?我不想將所有行都轉換為字典或列表,因為我將處理包含大量行的文件。
3 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
嘗試這個:
with open('filepath') as infile:
for row in infile:
do_somthing(row.strip())
再見

達令說
TA貢獻1821條經驗 獲得超6個贊
正如我在評論中所說,這rdline = fp.readline()不是必需的,因為您已經fp在 for 循環上進行迭代。
with open(filepath) as f:
for line in f:
do_something(line)

忽然笑
TA貢獻1806條經驗 獲得超5個贊
我認為您的代碼中出現的錯誤是
with open(str(filepath), 'r') as fp:
lines = fp.readlines()
for line in lines:
do_something(line)
將 open 函數的第二個參數作為字符串給出。
(或者)
如果文件很大,你可以通過這種方法
with open(str(filepath), 'r') as fp:
line = fp.readline()
while line:
do_something(line)
line = fp.readline()
添加回答
舉報
0/150
提交
取消