一、文件定位
在處理文件時,我們需要知道文件的當前位置。文件對象提供了三種方法,可以幫助我們定位文件中的特定位置:seek()、tell() 和 truncate()。
1、seek()
seek() 方法用於移動文件讀取指針到指定位置。該方法有兩個參數:第一個參數是要移動的文件指針的偏移量,第二個參數是文件指針的移動參照位置,默認值是 0,表示文件開頭。
# 以讀模式打開文件 file = open('example.txt', 'r') # 移動文件指針到第五個位元組 file.seek(5) # 讀取從第五個位元組開始到結尾的文件內容 content = file.read() # 輸出讀取的文件內容 print(content) # 關閉文件 file.close()
2、tell()
tell() 方法返迴文件的當前位置,即文件指針的當前位置。
# 以讀模式打開文件 file = open('example.txt', 'r') # 讀取文件的前五個位元組內容 first_five = file.read(5) # 輸出當前文件指針的位置 print(file.tell()) # 關閉文件 file.close()
3、truncate()
truncate() 方法用於截取文件中指定位置之後的部分,即將文件指針移動到指定位置並截取之後的內容。該方法接受一個可選參數,指定截取的位置,默認值是當前文件位置。
# 以讀寫模式打開文件 file = open('example.txt', 'r+') # 移動文件指針到第五個位元組 file.seek(5) # 截取第五個位元組之後的內容 file.truncate() # 輸出截取後的文件內容 content = file.read() print(content) # 關閉文件 file.close()
二、文件遍歷
在處理文件時,我們經常需要遍歷文件內容。Python 文件對象提供了多個方法,可以幫助我們輕鬆實現文件遍歷,從而快捷地處理文件內容。
1、readline()
readline() 方法一次讀取並返回一行內容。如果文件已經讀取到結尾,返回一個空字元串。
# 以讀模式打開文件 file = open('example.txt', 'r') # 讀取文件的第一行內容 line = file.readline() while line: # 輸出每行內容 print(line.strip()) # 繼續讀取下一行內容 line = file.readline() # 關閉文件 file.close()
2、readlines()
readlines() 方法返迴文件中所有行的列表。每個列表元素都是一行內容,包含行末換行符。
# 以讀模式打開文件 file = open('example.txt', 'r') # 讀取文件的所有行內容 lines = file.readlines() for line in lines: # 輸出每一行內容 print(line.strip()) # 關閉文件 file.close()
3、迭代器
文件對象是可迭代的,因此我們可以使用 for 循環逐行讀取文件內容。
# 以讀模式打開文件 file = open('example.txt', 'r') for line in file: # 輸出每一行內容 print(line.strip()) # 關閉文件 file.close()
三、結語
文件操作是 Python 編程中非常常見的任務。掌握文件定位和遍歷方法可以幫助我們更好地處理文件內容,提高代碼效率。
上述提到的方法只是冰山一角,文件對象還提供了許多其他有用的方法,可以在不同場景下使用。在實際應用中,針對不同的需求選擇合適的方法,可以方便快捷地處理文件內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309560.html