c fscanf 按行讀取檔案_Python操作txt檔案(二)——按行讀取
阿新 • • 發佈:2020-12-16
技術標籤:c fscanf 按行讀取檔案c++ ifstream讀取檔案c++ 按行讀取txt檔案並賦值c++ 無法讀取記憶體c++ 讀取檔案c++檔案讀取
按行讀取在使用read()方法讀取檔案時,如果檔案很大,一次讀取全部內容到記憶體,容易造成記憶體不足,所以通常會採用逐行讀取。檔案物件提供了readline()方法用於每次讀取一行資料。readline()方法的基本語法格式如下:
file.readline()
其中,file為開啟的檔案物件。同read()方法一樣,開啟檔案時,也需要指定開啟模式為r(只讀)或者r+(讀寫)。
應用例項
with open(r"C:\Users\Administrator\Desktop\匆匆.txt","r",encoding = "gbk") as f: number = 0 # 設定行號 while number<10: # 我的檔案不超過10行,所以隨意設定了小於10行number+=1 line = f.readline() # 逐行讀取 if line =="": # 讀到空行時,跳出迴圈 breakprint(number,line)#列印行號,讀取的行
輸出結果
全部讀取讀取全部行的作用與呼叫read()方法時不指定size類似,只不過讀取全部行時,返回的是一個字串列表,每個元素為檔案的一行內容。讀取全部行,使用的是檔案物件的readlines()方法,其語法格式如下:
file.readlines()
其中,file為開啟的檔案物件。同read()方法一樣,開啟檔案時,也需要指定開啟模式為r(只讀)或者r+(讀寫)。
應用例項
with open(r"C:\Users\Administrator\Desktop\匆匆.txt","r",encoding = "gbk") as f: number = 0 while number<10:lines=f.readlines()#讀取全部行forlineinlines:#與按行讀取區別為,全部讀取為一個列表,必須使用for迴圈遍歷number+=1#後面與上面一樣,只是number的位置不一樣 if line =="": break print(number,line)
輸出結果
END
Python操作txt檔案(二)——按行讀取